c# - 通用函数的委托(delegate)

标签 c# .net generics delegates

我可以创建一个像这样的委托(delegate)吗?

// here I have delegate
delegate ... MyDel ...

MyDel del = SomeMethod; // or even lambda?
int number = del<int>(...);

作为一个想法,这可能是一个重复的问题,但我指的是这个 ->

int n = del<int>(...);

那么,委托(delegate)可以是泛型函数吗?如果不是(而且我很确定不能),为什么要这样实现?在什么情况下可能会出现问题?

最佳答案

不可以,委托(delegate)实例不能指向开放的泛型方法。

我只能推测为什么会这样,但我认为这种语言功能的成本不会超过它的好处,因为它可能不会经常使用。请参阅 Eric Lippert 的回答 here关于功能如何进入 C#。

关于c# - 通用函数的委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15768656/

相关文章:

c# - Process.Start() 在 Windows 10/Chrome 上去掉井号和之后的所有内容

c# - 我可以混合使用 SqlConnection.BeginTransaction 和 TransactionScope 吗?

c# - 试图重现 "must declare a body"编译器错误

vb.net - 数字类型的通用方法

kotlin - 如何使用函数中的泛型来避免重复代码?

C# 泛型 : How to avoid code duplication when using struct constraints and nullables in lambda expressions

c# - 没有订阅者的 RabbitMQ 队列

c# - Elasticsearch-如何使用NEST 7.1 SDK重新索引

c# - StructureMap 中的命名实例和默认实例?

.NET MVC - 在同一 Controller 中使用 ActionName() 的多个 GET 方法