我已将以下类添加到我的项目中
delegate int NumberChanger(int n);
namespace lesson02
{
class Testdelegate
{
static int num = 10;
public static int AddNum(int p)
{
num += p;
return num;
}
public static int MultNum(int q)
{
num *= q;
return num;
}
public static int getNum()
{
return num;
}
}
}
在main方法下的程序类中,我正在尝试创建委托的对象并将方法AddNum分配给它:
NumberChanger nc1 = new NumberChanger(AddNum);
但是在此类中无法识别AddNum方法,我收到错误消息:CS0103 C#当前上下文中不存在该名称
谁能看到我做错了什么?
答案 0 :(得分:3)
在引用不同类中的静态方法时,需要引用该类。因此,从(我推测)Program.Main
开始,您应该参考Testdelegate.AddNum
。编辑:这假设您在文件顶部有using lesson02;
引用,或者Program
或嵌套命名空间中存在lesson02
。
或者,如果您对静态Testdelegate
成员进行多次引用,则可以使用static using
(从C#6开始):
using static lesson02.Testdelegate;