C# 함수에서 메서드를 매개 변수로 전달하는 방법
Minahil Noor
2024년2월16일
이 문서에서는 C# 함수에서 메서드를 매개 변수로 전달하는 다양한 메서드를 소개합니다.
Func
델리게이트 사용Action
델리게이트 사용
Func
Delegate를 사용하여 C#에서 매개 변수로 메서드 전달
기본 제공 대리자 Func
를 사용하여 메서드를 매개 변수. 델리게이트는 함수 포인터처럼 작동합니다. 이 대리자를 사용하는 올바른 구문은 다음과 같습니다.
public delegate returnType Func<in inputType, out returnType>(InputType arg);
내장 델리게이트 Func
에는 N 개의 매개 변수가 있습니다. 매개 변수의 세부 사항은 다음과 같습니다.
매개 변수 | 기술 | |
---|---|---|
inputType |
필수 | 이 대리자의 입력 값 유형입니다. N 개의 입력 값이있을 수 있습니다. |
returnType |
필수 | 반환 값의 유형입니다. 이 대리자의 마지막 값은 반환 형식으로 간주됩니다. |
아래 프로그램은Func
델리게이트를 사용하여 메소드를 매개 변수로 전달하는 방법을 보여줍니다.
public class MethodasParameter {
public int Method1(string input) {
return 0;
}
public int Method2(string input) {
return 1;
}
public bool RunMethod(Func<string, int> MethodName) {
int i = MethodName("This is a string");
return true;
}
public bool Test() {
return RunMethod(Method1);
}
}
Action
Delegate를 사용하여 C#에서 메서드를 매개 변수로 전달
또한 기본 제공 대리자 Action
를 사용하여 다음과 같이 메서드를 전달할 수 있습니다. 매개 변수. 이 대리자를 사용하는 올바른 구문은 다음과 같습니다.
public delegate void Action<in T>(T obj);
내장 델리게이트 Action
은 입력으로 16 개의 매개 변수를 가질 수 있습니다. 매개 변수의 세부 사항은 다음과 같습니다.
매개 변수 | 기술 | |
---|---|---|
T |
필수 | 이 대리자의 입력 값 유형입니다. 16 개의 입력 값이있을 수 있습니다. |
아래 프로그램은 Action
델리게이트를 사용하여 메소드를 매개 변수로 전달하는 방법을 보여줍니다.
public class MethodasParameter {
public int Method1(string input) {
return 0;
}
public int Method2(string input) {
return 1;
}
public bool RunTheMethod(Action myMethodName) {
myMethodName();
return true;
}
RunTheMethod(() => Method1("MyString1"));
}