- 메서드 대리자 델리게이트(delegate)

001: using System;
002: //델리게이트 선언
003: delegate void dele1();
004: delegate int dele2(int a,int b);
005: class MainClass
006: {
007:    static void Main(string[] args)
008:    {
009:           //Math클래스 선언및 인스턴스화
010:           MathClass MathClass=new MathClass();
011:           //델리게이트 선언및 인스턴스화
012:           dele1 Sum1=new dele1(MathClass.Intro);
013:           dele2 Sum2=new dele2(MathClass.Sum);
014:           //델리게이트에 위임된 메서드 실행
015:           Sum1();
016:           Console.WriteLine("Result : {0}",Sum2(-10,90));
017:    }
018: }
019: class MathClass
020: {
021:    public void Intro()
022:    {
023:           Console.WriteLine("계산을 시작합니다.");
024:    }
025:    public int Sum(int a, int b)
026:    {
027:           return a+b;
028:    }
029: }

 

001: using System;
002: delegate void deleMath(int Value); //델리게이트 선언
003: class MainClass
004: {
005: static void Main(string[] args)
006: {
007: //Math클래스 선언및 인스턴스화
008: MathClass MathClass=new MathClass();
009:
010: //델리게이트 선언및 인스턴스화(덧셈)
011: deleMath Math=new deleMath(MathClass.Plus);
012:
013: //위임연산(뺄셈,곱셈추가)
014: Math+=new deleMath(MathClass.Minus);
015: Math+=new deleMath(MathClass.Multiply);
016: //결과1
017: MathClass.Number=10;
018: Math(10);
019: Console.WriteLine("Result:{0}",MathClass.Number);
020:
021: //위임연산(뺄셈제거)
022: Math-=new deleMath(MathClass.Minus);
023: //결과2
024: MathClass.Number=10;
025: Math(10);
026: Console.WriteLine("Result:{0}",MathClass.Number);
027:
028: //위임연산(곱셈제거)
029: Math-=new deleMath(MathClass.Multiply);
030: //결과3
031: MathClass.Number=10;
032: Math(10);
033: Console.WriteLine("Result:{0}",MathClass.Number);
034:
035: }
036: }
037: class MathClass
038: {
039: public int Number;
040: public void Plus(int Value)//더하기
041: {
042: Number+=Value;
043: }
044: public void Minus(int Value)//빼기
045: {
046: Number-=Value;
047: }
048: public void Multiply(int Value)//곱하기
049: {
050: Number*=Value;
051: }
052: }

Posted by 나비:D
:
BLOG main image
by 나비:D

공지사항

카테고리

분류 전체보기 (278)
Programming? (0)
---------------------------.. (0)
나비의삽질 (5)
Application (177)
SQL (51)
Web (27)
etc. (14)
Omnia (0)
---------------------------.. (0)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

달력

«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Total :
Today : Yesterday :