static void Main(string[] args) { //Delegate1 de1 = new Delegate1(); OnjSum myMethod = Delegate1.Sum; //de1.Sum; Console.WriteLine("두수 합 : {0}", myMethod(10, 30)); }
public static void Main() { //OnjSum myMethod = new OnjSum(Sum); //OnjSum myMethod = Sum; OnjSum myMethod = new OnjSum(Delegate1.Sum); Console.WriteLine("두 수의 합: {0}", myMethod(10, 30)); }
static void Main(string[] args) { OnjSum myMethod = new OnjSum(Delegate1.Sum); //OnjSum myMethod = new OnjSum(Sum); //OnjSum myMethod = Sum; Console.WriteLine("두수의 합 : {0}", myMethod(10, 30)); }
private delegate int OnjSum(int i, int j); // 1. 선언 public static void Main(string[] args) { OnjSum myMethod = new OnjSum(Delegate1.Sum); // 2. 생성, 메소드이름을 인자로 //OnjSum myMethod = new OnjSum(Sum); //2. 생성 //OnjSum myMethod = Sum; //2. 생성 Console.WriteLine("두수 합 : {0}", myMethod(10, 30)); }
// 구동 메서드 선언 static void Main(string[] args) { // 델리게이트를 인스턴스화 방법 1 //OnjSum myMethod = new OnjSum(Delegate.Sum); // 델리게이트를 인스턴스화 방법 2 //OnjSum myMethod = new OnjSum(Sum); // 델리게이트를 인스턴스화 방법 3 OnjSum myMethod = Sum; // OnjSum 자료형으로 인스턴스화 된 델리게이트 myMethod를 사용해 Sum 메서드를 구동 Console.WriteLine("두수 합 : {0}", myMethod(10, 30)); }
private delegate int OnjSum(int i, int j); //1. 선언 public static void Main(string[] args) { OnjSum myMethod = new OnjSum(Delegate1.Sum); Console.WriteLine("myMethod : {0}", myMethod(10, 30)); OnjSum myMethod1 = new OnjSum(Sum); Console.WriteLine("myMethod1 : {0}", myMethod1(10, 30)); Func <int, int, int> f1 = new Func <int, int, int>(Sum); Console.WriteLine("f1 : {0}", f1(10, 30)); Func <int, int, int> f2 = Sum; Console.WriteLine("f2 : {0}", f2(10, 30)); Func <int, int, int> f3 = new Delegate1().Add; Console.WriteLine("f3 : {0}", f2(10, 30)); Action <int, int> a1 = new Delegate1().printSum; a1(10, 30); Action <int, int> a2 = delegate(int i, int j) { Console.WriteLine(i + j); }; a2(10, 30); Action <int, int> a3 = (i, j) => { Console.WriteLine(i + j); }; a3(10, 30); Func <int, int, int> f4 = (i, j) => i + j; Console.WriteLine("f4 : {0}", f4(10, 30)); }