【发布时间】:2010-03-08 21:45:05
【问题描述】:
我在对指定类型进行操作的方法中有一些逻辑,我想创建一个封装逻辑的通用 lambda。这就是我想要做的精神:
public void DoSomething()
{
// ...
Func<T> GetTypeName = () => T.GetType().Name;
GetTypeName<string>();
GetTypeName<DateTime>();
GetTypeName<int>();
// ...
}
我知道我可以将类型作为参数传递或创建泛型方法。但我很想知道 lambda 是否可以定义自己的泛型参数。 (所以我不是在寻找替代品。)据我所知,C# 3.0 不支持这一点。
【问题讨论】:
-
你想做什么,究竟?请记住,lambda 表达式只是一个没有名称的函数,而变量(Func 或 Action)只是指向该函数的指针(委托)。如果您更具体地了解您的问题,也许我们可以提供更好的帮助。