0

なぜ私はこれを行うことができないのですか?

public int FillModel(int id)
{
   // do something...
   return 0;
}

public Func<int, int> actiontest = FilleModel;

コードがコンパイルされず、参照がないことがわかりますか?

4

2 に答える 2

2

彼のコメントで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;
}
于 2012-10-28T11:19:59.310 に答える
0

変更以外の重要なことの1つ:

public Func<int, int> actiontest = FilleModel; 

Func<int, int> actiontest = FillModel;

クラスレベル直接宣言することはできません。このような宣言は、一部の動作またはセッター/ゲッター内でのみ行うことができます。MethodProperty

于 2012-10-28T11:26:01.430 に答える