C#:如何设计一个泛型类,使得类型参数必须继承某个类?

标签 c# .net class generics

我写了一个看起来像这样的类:

public class MyClass<T>
{
    public void doSomething()
    {
       T.somethingSpecial;
    }
}

此代码无法编译,因为编译器不知道 T 是什么。我想约束 T,使其必须继承某个定义 somethingSpecial 的类。如果您能告诉我如何通过限制 T 使其必须实现某个接口(interface)来做同样的事情,那么加分。

最佳答案

public class MyClass<T> where T: IAmSomethingSpecial

它叫做 Constraints on Type Parameters .

关于C#:如何设计一个泛型类,使得类型参数必须继承某个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8606024/

相关文章:

java - 与其他类的变量进行比较

c++ - 未定义的 vtable 引用

c# - 摘要泛型和摘要列表

c# - IApplicationBuilder 不包含 UseAzureAppConfiguration 的定义

c# - DotNetNuke 使用自定义 url 向模块菜单添加操作

c# - 使用反射发射时为 "Bad label content in ILGenerator"

c# - 排除以特定字符开头的正则表达式匹配

c# - 如何正确地将长生命周期缓冲区从 C# 发送到 C++

.net - 使用 MSMQ - System.Messaging 与 WCF

class - 关于 Clojure 中的列表和其他内容的问题