为什么我不能这样做?
public int FillModel(int id)
{
// do something...
return 0;
}
public Func<int, int> actiontest = FilleModel;
代码无法编译并告诉我没有引用?
答案 0 :(得分:2)
正如他在评论中所说 L.B 你应该改变:
public Func<int, int> actiontest = FilleModel; //FilleModel doesn't exist
使用:
Func<int, int> actiontest = FillModel;
否则,如果你想公开它:
public Func<int, int> actiontest;
public myClass(){
actiontest = FillModel;
}
或者:
public Func<int, int> actiontest = FillModel;
private static int FillModel(int id) //private else the delegate doesn't make sense
{
// do something...
return 0;
}
答案 1 :(得分:0)
一个重要的事情,除了改变:
public Func<int, int> actiontest = FilleModel;
到
Func<int, int> actiontest = FillModel;
您无法在类级中拥有直接声明。您只能在某些行为Method
或Property
setter / getter中包含此类声明。