没有任何成员的界面 - 不好的做法? [复制]

2024-04-15

可能的重复:
标记接口的目的是什么? 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(使用前将#替换为@)

没有任何成员的界面 - 不好的做法? [复制] 的相关文章

随机推荐