Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- SQL
- mybatis
- Sqoop
- GIT
- plugin
- NPM
- Python
- react
- hadoop
- mapreduce
- Java
- Eclipse
- SSL
- Android
- window
- Express
- JavaScript
- 공정능력
- MSSQL
- R
- table
- 보조정렬
- es6
- IntelliJ
- vaadin
- SPC
- Spring
- Kotlin
- xPlatform
- tomcat
Archives
- Today
- Total
DBILITY
c# delegate 본문
반응형
대리자라고들 하고 번역대로라면 위임하다정도 되겠다.
뭘 위임한다는 것일까..결국 Method에 대한 참조다. callback method를 생각해 보자.
피호출자에게 호출자의 메서드를 넘겨주고 피호출자가 그 메서드를 실행한다.
결국 메모리상의 메서드(함수)의 위치값을 넘기는게 되는거지..뭐라는건지ㅎㅎ
C# 전문가가 아니다보니 그동안 전통적 방식의 델리게이트만 썼는데, 2.0부터 간소화되었군..
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
A Test = new A();
DelegateType DelMethod1 = new DelegateType(Test.PrintA);
DelMethod1("Hello Traditional C#1.0 Delegate usage");
DelegateType DelMethod2 = Test.PrintA;
DelMethod2("Good C#2.0 Delegate usage");
DelMethod1 += Test.PrintB;
DelMethod1("Hello Traditional C#1.0 Delegate usage");
DelMethod1 -= Test.PrintA;
DelMethod1("Hello Traditional C#1.0 Delegate usage");
}
}
delegate void DelegateType(string str);
class A
{
public void PrintA(string str)
{
Console.WriteLine(string.Format("PrintA {0}", str));
}
public void PrintB(string str)
{
Console.WriteLine(string.Format("PrintB {0}", str));
}
}
}
반응형
'C#' 카테고리의 다른 글
visual studio sdk (0) | 2020.10.11 |
---|---|
c# Casing Convention (0) | 2019.04.02 |
C# Rect 구조체 사용시 WindowsBase.dll의 참조를 추가해야 한다. (0) | 2019.04.02 |
c# dllimport Platform Invoke시 signiture 참조 (0) | 2019.04.02 |
C# R Client (0) | 2019.02.27 |
Comments