我想在 C# 3.5 中实现这样的功能:
public void Register<T>() : where T : interface {}
我可以用类或结构来做,但是如何用接口(interface)来做呢?
最佳答案
如果您询问有关向特定接口(interface)添加约束的问题,那很简单:
public void Register<T>( T data ) where T : ISomeInterface
如果您询问是否存在关键字(如 class 或 struct)来限制 T 的可能类型范围,那是不可用的。
虽然你可以写:
public void Register<T>( T data ) where T : class // (or struct)
你不能写:
public void Register<T>( T data ) where T : interface
关于c# - 如何在 C# 3.5 中对泛型方法施加接口(interface)约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1104229/