![]() |
1
25
我个人认为空接口不是一件好事。
这个 design guidelines for interfaces 特别指出:
|
![]() |
2
12
|
![]() |
3
2
我想说属性更好,但是在.Net框架中有一些空接口的例子(例如INamingContainer)- http://msdn.microsoft.com/en-us/library/system.web.ui.inamingcontainer.aspx ). |
![]() |
4
2
在我看来,实现一个标记接口和附加一个没有参数的属性只在语法上有所不同,但是前者更直接地用于运行时类型信息。
也就是说,如果我将第一次遇到空接口(我记得它肯定是JavaCirca2000)与第一次遇到属性(C#web服务)进行比较,我就能够 演绎 |
![]() |
5
1
我同意这里的每个人。我想如果给我代码来维护,看到一个类有一个没有属性或方法的接口,我会非常困惑。 几乎 每个请求(但不是在say和ajax请求或管理页面上)。我将该操作添加到一个基本控制器,并在ExecuteCore方法中执行它。对于我不希望它运行的少数情况,我在派生控制器中设置了一个不运行它的标志。
当然,如果您想为所有派生类创建泛型操作,这将毫无帮助。但是在这种情况下,对象必须有一些共同点(比如一个共同属性),这意味着接口不会是空的。 |
![]() |
6
0
我不这么做,但我觉得没有理由反对。我经常为泛型类型创建基类,以便包含泛型项的集合。接口可能是一种更干净的方法,但是我通常会在基类中找到一些东西,这样接口解决方案就不能解决这个问题。 我想你可以把它看作一个抽象的基类? |
![]() |
Gabe Tucker · 无法在golang中分配接口对象指针 2 年前 |
![]() |
randomDud · C#从另一个接口重写接口方法 2 年前 |
![]() |
evilsushi · C#接口不允许成员类满足要求 6 年前 |