内联泛型委托(不是正常的Action <t> Func <t,tresult =“”>)</t,> </t>

时间:2009-07-20 14:40:58

标签: c# delegates generics

是否可以编写内联泛型方法?例如,如何将以下方法转换为内联委托。

public TUser Current<TUser>() where TUser : User
{
     return getCurrentUser() as TUser;
}

即使只是打电话

Func<User> userFunc = new Func<User>(Current<User>);

会有用。

1 个答案:

答案 0 :(得分:3)

您可以在C#3.0中使用lambda表达式:

Func<User> userFunc = () => getCurrentUser() as User;

Func<User> userFunc = Current<User>;