这是我第一次碰到这个问题,这很奇怪,但是:如何在C#接口中定义构造函数?编辑有些人想要一个例子(这是一个空闲时间项目,所以是的,这是一个游戏)IDrawable + Update + Draw为了能够更新(检查屏幕边缘等)并绘制自己,它总是需要一个GraphicsDeviceManager。所以我想确保对象有引用它。这将属于构造函数。现在,我写下来我想我在这里实施的IObservable和GraphicsDeviceManager应该采取的IDrawable......看来要么我不明白的XNA框架或框架不是想出来的非常好。编辑在接口的上下文中,我对构造函数的定义似乎有些混乱。实际上不能实例化接口,因此不需要构造函数。我想要定义的是构造函数的签名。正如接口可以定义某个方法的签名,接口可以定义构造函数的签名。
3 回答
慕工程0101907
TA贡献1887条经验 获得超5个赞
你不能。它偶尔会很痛苦,但无论如何你都无法使用普通技术来调用它。
在博客文章中,我建议静态接口只能在泛型类型约束中使用 - 但可能非常方便,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) { }}
- 3 回答
- 0 关注
- 742 浏览
添加回答
举报
0/150
提交
取消