0

これは思ったより簡単だと思います!

Func のリストを作成して追加できます

var x = new List<Func<IBQCustomer, string>>();
x.Add(c => c.FullName);

Func に追加のパラメーターを追加するにはどうすればよいですか? しようとすると、エラーが発生します

var y = new List<Func<IBQCustomer, OrderByDirection, string>>();
y.Add(...);

これは可能ですか?

私はプロパティのリストを作成し、それらをどうするかを目指しています


エラー:

y.Add(c => c.FullName, OrderByDirection.Asc);
No overload for Add that takes 2 arguments
4

2 に答える 2

3

次のように、複数のパラメーターを使用して匿名デリゲートを宣言できます。

y.Add((customer, direction) => customer.FullName);

それならうまくいくでしょう。リスト内の各デリゲートを呼び出すものは何でも、2 つの引数と を提供する必要がIBQCustomerありOrderByDirectionます。

于 2012-11-08T05:38:05.333 に答える
0

「OrderByDirection」列挙は関数の引数ではありませんか? この場合、次のようなものを使用できます。

var y = new List<Tuple<Func<IBQCustomer, string>, OrderByDirection>>();
y.Add(new Tuple<Func<IBQCustomer, string>, OrderByDirection>(c => c.FullName, OrderByDirection.Asc));

もちろん、「Tuple<>」の代わりにカスタム クラスを使用することもできます。

class MyClass
{
    public Func<IBQCustomer, string> Function;
    public OrderByDirection Direction;
}

それとも、ラムダ式を間違って書いているのでしょうか? これはうまくいくはずです:

var y = new List<Func<IBQCustomer, OrderByDirection, string>>();
y.Add((c, d) => c.FullName);
于 2012-11-08T05:37:46.397 に答える