2016년 4월 30일 토요일

[C#] Callback Func



예제 1

  1. namespace Cshop_v6._0
  2. {
  3. delegate int GetResultDelegate();
  4.  
  5. class Target
  6. {
  7. public void Do(GetResultDelegate getResult)
  8. {
  9. Console.WriteLine(getResult()); // 콜백 메서드 호출
  10. }
  11. }
  12.  
  13. class Source
  14. {
  15. public int GetResult() // 콜백 용도로 전달된 메서드
  16. {
  17. return 10;
  18. }
  19.  
  20. public void Test()
  21. {
  22. Target target = new Target();
  23. target.Do(new GetResultDelegate(this.GetResult));
  24. }
  25. }
  26. }

예제 2

  1. namespace Cshop_v6._0
  2. {
  3. delegate int GetResultDelegate(int x, int y);
  4.  
  5. class Target
  6. {
  7. public void Do(GetResultDelegate getResult, int x, int y)
  8. {
  9. Console.WriteLine(getResult(x, y));
  10. }
  11. }
  12.  
  13. class Source
  14. {
  15. public static int GetResult(int x, int y)
  16. {
  17. return x * y;
  18. }
  19.  
  20. public static void Main()
  21. {
  22. Target target = new Target();
  23. GetResultDelegate gd = GetResult;
  24. target.Do(gd, 5, 10);
  25. }
  26. }
  27. }

댓글 없음:

댓글 쓰기