我有点迷茫
The purpose of Marker Interface Vs Attributes.
他们的目的在我看来是一样的(如果我错了请原谅我)。
谁能解释一下它们的目的有何不同?
最佳答案
以下是两者的一些优点。
标记接口(interface):
- 使用动态类型检查更容易检查(“obj 是 IMarker”);
- 允许 future 的功能和数据可扩展性(即将“标记”接口(interface)转变为实际声明一些成员的“完整”接口(interface));
- 可用于泛型类型约束;
另一方面,属性:
- 提供更清晰的元数据分离;
- 允许通过它们的构造函数或属性指定附加信息;
- 允许对一个实体进行多次应用;
- 在适用于不同类型的实体方面具有通用性,而不仅仅是类;
这在很大程度上取决于特定应用程序的架构和设计,在特定情况下是否适合使用标记接口(interface)或属性。
关于c# - 当Attributes服务于此目的时,标记接口(interface)的需求是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3923733/