【发布时间】:2010-02-19 19:26:36
【问题描述】:
为什么在 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 的静态上下文中引用它?
-
我否认这个问题的前提; 不需要使方法静态。需要向委托提供足够的信息才能成功调用方法;对于非静态方法,包括提供接收非静态方法调用的实例。
标签: c# .net visual-studio-2005 function delegates