2016년 8월 23일 화요일

C# 여러개의 매소드를 순차적으로 실행할때


만약 각 매소드들의 매개변수가 같으면 델리게이트 체인을 이용한다.

EX)

public class testclass
{
public delegate int calc(int a, int b); // 델리게이트 선언 (클래스와같은 형선언, 단지 매개변수만 형태 지정이 가능하다.)

public int chain()
{
calc deleInstance = new calc(method1); // 단순히 델리게이트지정

calc chaindele = (calc)Delegate.Combine(new calc(method2),new calc(method3)); // 델리게이트 체인 지정으로 매소드2,3 이 순차적으로 실행된다.

int output = caindele(20,10);

}


public int method1(int input, int input2)
{
int output = input + input2;
return output;
}

public int method2(int input, int input2)
{
int output = input * input2;
return output;
}
public int method3(int input, int input2)
{
int output = input - input2;
return output;
}




}

댓글 없음:

댓글 쓰기