【发布时间】:2014-08-29 09:02:51
【问题描述】:
我想把 T 是泛型类型的 Func 作为字典中的值。所以基本上我想做这样的事情:
Dictionary<string, Func<MyObject, T>> _sortMappings =
new Dictionary<string, Func<MyObject, T>>()
{
{ "Name", (b) => b.Name }, // name is a string
{ "Length", (b) => b.Length }, // length is an int
{ "Date", (b) => b.Date } // a datetime object
};
这有意义吗?这可能吗?
【问题讨论】:
-
应该是
Func<T, string>吗?string没有属性Name,也没有Date- 所以 lambda 甚至不符合Func的条件,它接受string并返回T。 -
你是对的。它是自定义类的对象。已更正。
-
你试过我的解决方案了吗?
标签: c# generics dictionary