Делегаты в основном следуют тем же правилам, что и методы.В приведенном примере ваш делегат должен быть статическим, потому что вы вызываете его из статического метода.В том же духе это не будет работать:
static void Main(string[] args)
{
int Res = Add(3, 4);
Console.WriteLine(Res);
}
public int Add(int a, int b)
{
int result;
result = a + b;
return result;
}
Однако, если вы переместили вещи в нестатический контекст, подобный этому:
class MyClass
{
public MyClass()
{
Fun F1 = new Fun(Add);
int Res = F1(2, 3);
Console.WriteLine(Res);
}
public int Add(int a, int b)
{
int result;
result = a + b;
return result;
}
}
У вас может быть делегат с нестатическимспособ.