可能的重复:
标记接口的目的是什么? https://stackoverflow.com/questions/1023068/what-is-the-purpose-of-a-marker-interface
创建一个完全空的接口是不是不好的做法,例如:
public interface ISomething
{
}
在某些情况下,我想以不同于其他对象的方式对待某些对象,但我不需要任何新的行为。
我个人认为空接口并不是一件好事。
接口旨在描述行为契约。空接口不描述任何行为 - 您没有在这里定义任何形式的契约。
The 界面设计指南 http://msdn.microsoft.com/en-us/library/ms229022.aspx具体说:
避免使用标记接口(没有成员的接口)。
自定义属性提供了一种标记类型的方法。有关自定义属性的更多信息,请参阅编写自定义属性。当您可以将属性检查推迟到代码执行时,自定义属性是首选。如果您的场景需要编译时检查,则无法遵守此准则。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)