【发布时间】:2011-08-08 18:12:52
【问题描述】:
我有一个通用类:
public class Foo<T> where T: Interface
{
}
T 被强制实现的接口内部定义了 2 个静态方法。
在构造函数中我希望能够基本上做到以下几点:
public Foo()
{
value1 = T.staticmethod1();
value2 = T.staticmethod2();
}
这不能用我上面发布的伪代码来完成。难道不能这样调用这些静态方法吗?
【问题讨论】:
-
我很困惑,接口中不能存在静态方法。
-
接口不能说它们的方法是静态的,你不能在接口中放置任何具体的代码。你的意思是抽象类而不是接口?
-
是的,接口上不能有静态方法。
-
您可以在接口中使用静态方法,但不能来自 C#。
标签: c# generics static constraints static-members