なぜ私はこれを行うことができないのですか?
public int FillModel(int id)
{
// do something...
return 0;
}
public Func<int, int> actiontest = FilleModel;
コードがコンパイルされず、参照がないことがわかりますか?
彼のコメントでLBが言ったように、変更する必要があります:
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つ:
public Func<int, int> actiontest = FilleModel;
に
Func<int, int> actiontest = FillModel;
クラスレベルで直接宣言することはできません。このような宣言は、一部の動作またはセッター/ゲッター内でのみ行うことができます。Method
Property