定义构造函数签名的接口?

这是我第一次碰到这个问题,这很奇怪,但是:

如何在C#接口中定义构造函数?

编辑
有些人想要一个例子(这是一个空闲时间项目,所以是的,这是一个游戏)

IDrawable 
+ Update 
+ Draw

为了能够更新(检查屏幕边缘等)并绘制自己,它总是需要一个GraphicsDeviceManager。所以我想确保对象有引用它。这将属于构造函数。

现在,我写下来我想我在这里实施的IObservableGraphicsDeviceManager应该采取的IDrawable......看来要么我不明白的XNA框架或框架不是想出来的非常好。

编辑
在接口的上下文中,我对构造函数的定义似乎有些混乱。实际上不能实例化接口,因此不需要构造函数。我想要定义的是构造函数的签名。正如接口可以定义某个方法的签名,接口可以定义构造函数的签名。


侃侃无极
浏览 688回答 3
3回答

慕工程0101907

你不能。它偶尔会很痛苦,但无论如何你都无法使用普通技术来调用它。在博客文章中,我建议静态接口只能在泛型类型约束中使用 - 但可能非常方便,IMO。关于如果你可以在一个接口中定义一个构造函数的一点,你在导出类时遇到了麻烦:public class Foo : IParameterlessConstructor{     public Foo() // As per the interface     {     }}public class Bar : Foo{     // Yikes! We now don't have a parameterless constructor...     public Bar(int x)     {     }}
打开App,查看更多内容
随时随地看视频慕课网APP