c# - 何时在 C# 中无约束地使用泛型方法?

标签 c#

为什么你会想在 C# 中使用泛型方法而不至少对参数施加一些限制?我真的想不出一种方法可以做任何有用的事情,可以传递给任何类型。

最佳答案

一个简单的例子:

void Swap<T>(ref T a, ref T b)
{
    T temp = a;
    a = b;
    b = temp;
}

不要忘记每个类型 T 都派生自 System.Object,因此继承了一些有用的方法。好吧,严格来说不是每种类型。例如,接口(interface)不继承自 object,但实现它们的类型继承。因此,即使 T 是接口(interface)类型,C# 也允许您访问从 object 继承的成员。

关于c# - 何时在 C# 中无约束地使用泛型方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15327587/

相关文章:

c# - Linq lambda 不工作但委托(delegate)不工作

c# - EntityType 'DbGeography' 没有定义键

c# - 我怎样才能完全分离我的业务层和数据层?

C# 将泛型类作为方法参数传递

c# - AdSense 和 Webstats 等系统如何运作?

c# - 在不安装 Python 的情况下在 .NET 环境中运行 Python 代码

c# - Rabbitmq 未确认消息未返回队列供消费者再次处理

c# - 来自 Application_Error() 的异步调用

c# - 来电显示检测 : Doesnt work with some phones

c# - 如何在C#中使用NEST客户端的ElasticClient类中的Serialize方法?