I have some logic in a method that operates on a specified type and I'd like to create a generic lambda that encapsulates the logic. This is the spirit of what I'm trying to do:
public void DoSomething()
{
// ...
Func<T> GetTypeName = () => T.GetType().Name;
GetTypeName<string>();
GetTypeName<DateTime>();
GetTypeName<int>();
// ...
}
I know I can pass the type as a parameter or create a generic method. But I'm interested to know if a lambda can define its own generic parameters. (So I'm not looking for alternatives.) From what I can tell, C# 3.0 doesn't support this.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…