c# - 内联泛型委托(delegate)(不是普通的 Action<T> Func<T, TResult>)

标签 c# delegates generics

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

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

即使只是能够打电话

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

会有用的。

最佳答案

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

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

Func<User> userFunc = Current<User>;

关于c# - 内联泛型委托(delegate)(不是普通的 Action<T> Func<T, TResult>),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1153990/

相关文章:

c++ - 通用成员函数指针作为另一个类中的模板参数

c# - Ninject 动态绑定(bind)到实现

c# - 奇怪的数组行为

c# - 在 Vb6 和 C# 中,我如何拥有多个字符串

ios - 如何将应用程序委托(delegate)添加回 mainwindow.xib

C#构造函数的方法引用

java - 用泛型方法覆盖非泛型方法

c# - 是否可以捕获线程开始和结束事件?

c# - 分配 null 是否会从对象中删除所有事件处理程序?

ios - 使用泛型设置 cellDelegate