티스토리 뷰
오늘은 C#의 Action 대리자와 Func 대리자에 대해서 기록.
[참고]
- Action대리자는 반환값이 없다.
- Func 대리자는 반환값이 있다.
따라서, 반환값이 필요한 경우에는 Func 대리자를 사용하자!
[Action 대리자 형태]
・Action
・Action<in T1>
・Action<in T1...T16>
[Action 대리자 사용법 3가지]
・ 기존 메소드 지정
ex)
Action<string> testActionName1 = Print;
testActionName1("testActionName1메소드 호출");
public void Print(string msg)
{
Console.WriteLine(msg);
}
・ 무명 메소드 지정
Action<string, string> testActionName2 = delegate(string errorId, string msg)
{
Console.WriteLine(errorId, msg);
}
・ 람다식 사용
ex)
Action<string, int> testActionName3 = (x, y) =>
{
Console.WriteLine(x, y);
testActionName3("testActionName3 첫번째 인수 x값, 두번째 인수 y값은 ", 100 );
}
[Func 대리자 형태]
・Func<out TResult>
・Func<in T1, out TResult>
・Func<in T1, in T2, out TResult>
・Func<in T1, in T2, ...in T16, out TResult>
[Func 대리자 사용법 3가지]
・ 기존 메소드 지정
ex )
Func<string, string> testFuncName1 = Sum;
Console.WriteLine(testFuncName1(10, 25));
public int Sum(int x, int y)
{
return x + y;
}
・ 무명 메소드 지정
ex)
Func<int, int, int> testFuncName2 = delegate(int x, int y)
{
return x + y;
};
・ 람다식 사용
ex)
Func<int, string> testFuncName3 = (x, y, x) =>
{
return "반환값 : " +( x + y + z ) ;
};.
'개발언어 > C#' 카테고리의 다른 글
[C#] in/out/ref 파라미터 한정자의 공통점, 차이점, 예제 (0) | 2022.07.01 |
---|---|
[C#] 이터레이터(Iterator) 개념 및 사용법 [VB.NET] (0) | 2022.05.25 |
DAO, DTO, Entity Class의 차이 (0) | 2021.02.24 |
C# FirstOrDefault() 메소드 (0) | 2021.02.24 |
[개발언어] C# LINQ 함수 ThenBy, ThenByDescending 정렬 (0) | 2021.02.02 |
- Total
- Today
- Yesterday
- 시간차이
- in/out/ref 예제
- NLog
- USER_SYS_PRIVS
- TrimEnd
- REVOKE
- 참조전달
- PL/SQL 예외처리문
- EXCEPTION절
- pl/sql
- DECLARE절
- VB.Net
- PL/SQL 실행문
- Oracle
- commit
- BEGIN절
- in/out/ref 차이점
- vba
- grant
- in/out/ref
- 에러
- 유틸리티
- C#
- 초기화파라미터파일
- in/out/ref 공통점
- 동기통신
- rollback
- 유틸리티에러
- DBA_SYS_PRIVS
- 후나빙
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |