함수를 매개 변수로 전달하여 다른 다른 클래스 "B"의 메서드를 호출하려는 클래스 "A"가 있습니다. 매개 변수로 전달 된 함수는 B 클래스에 있습니다. 따라서 클래스 A에서 메서드를 호출 할 경우 어떻게해야합니까?다른 클래스의 C#에서 매개 변수로 메서드 전달
Visual Studio 2008과 .NET Framework 3.5를 사용하고 있습니다.
나는 이것을 post으로 보았지만 다른 메소드를 매개 변수로 전달하지만 다른 클래스가 아닌 동일한 클래스에서 main 메소드를 호출하는 방법을 알려줍니다. 예를 들어 아래 해당 게시물에서 예를 들어
가 제공됩니다public class Class1
{
public int Method1(string input)
{
//... do something
return 0;
}
public int Method2(string input)
{
//... do something different
return 1;
}
public bool RunTheMethod(Func<string, int> myMethodName)
{
//... do stuff
int i = myMethodName("My String");
//... do more stuff
return true;
}
public bool Test()
{
return RunTheMethod(Method1);
}
}
하지만 방법은 다음을 수행 :
public Class A
{
(...)
public bool Test()
{
return RunTheMethod(Method1);
}
(...)
}
public class B
{
public int Method1(string input)
{
//... do something
return 0;
}
public int Method2(string input)
{
//... do something different
return 1;
}
public bool RunTheMethod(Func<string, int> myMethodName)
{
//... do stuff
int i = myMethodName("My String");
//... do more stuff
return true;
}
}
가능한 복제 (http://stackoverflow.com/questions/2082615/pass-method-as-parameter-using-c-sharp) –
@ StevenWood 그것은 중복이 아니므로, 내 게시물을 복제하기 전에 잘 읽으십시오. 동일한 클래스에서 RunTheMethod를 호출하면 해결책이 제공되지만 다른 다른 클래스에서 RunTheMethod를 호출하면 어떻게됩니까? 또한 귀하가 제공 한 링크는 이미 게시물에 나와 있습니다 (게시물의 링크 참조). – user1624552