왜 C#에서 대리자를 사용하는 동안 STATIC 함수를 만드는 것이 필요합니까?정적 메서드에서 사용되는 경우 대리자가 비 정적 메서드를 참조 할 수없는 이유는 무엇입니까?
class Program
{
delegate int Fun (int a, int b);
static void Main(string[] args)
{
Fun F1 = new Fun(Add);
int Res= F1(2,3);
Console.WriteLine(Res);
}
**static public int Add(int a, int b)**
{
int result;
result = a + b;
return result;
}
}
Main에서 정적 컨텍스트로 참조하려고하기 때문에? – captncraig
나는이 질문의 전제를 부정한다. 메서드를 정적으로 만들 필요는 없습니다. 대리자가 메서드를 성공적으로 호출하기에 충분한 정보를 제공해야합니다. 비 정적 메소드 호출을 수신하는 인스턴스를 제공하는 것을 포함하는 비 정적 메소드의 경우. –