【发布时间】:2011-08-22 11:41:40
【问题描述】:
我写了一个非常简单的类,它带有一个泛型参数,比如T。现在,我想强制T 只能是我的自定义类型ClassA、ClassB 和ClassC 之一,这样我就不会错误地将它与int、long 等无意义的类型一起使用,甚至我写的其他课程。我认为这样做的一种方法是使这三个类实现相同的空ISomething 接口并在通用类定义中使用where T : ISomething。但是,我不知道这种方法(实现一个空接口)是否有意义。有没有更好的方法来做到这一点?
【问题讨论】:
-
如果泛型类不能对类型做任何事情,你为什么要强制只能使用你的类型?听起来更像是您想在使用泛型类的类中强制使用类型。
-
课程不共享某些元素的曝光吗?如果不是,它与泛型类有什么关系?他们之间有什么区别?目前,您的做法听起来远非理想,但实际上并没有足够的信息为您提供有关您应该做什么的详细信息。
-
ClassA等在这个泛型类中使用的意义何在?
标签: .net generics constraints