C# 함수에서 메서드를 매개 변수로 전달하는 방법

  1. Func Delegate를 사용하여 C#에서 매개 변수로 메서드 전달
  2. Action Delegate를 사용하여 C#에서 메서드를 매개 변수로 전달

이 문서에서는 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"));
}

관련 문장 - Csharp Method

  • C#에서 개체의 속성별로 목록을 정렬하는 방법
  • 관련 문장 - Csharp Parameter

  • C#에서 개체의 속성별로 목록을 정렬하는 방법
  • C#에서 개체의 속성별로 목록을 정렬하는 방법