"Inheritance"属性:它是什么?

4
我偶然发现了C#中一个被称为[Inheritance]的属性。微软关于该属性的文档相对较少。该属性只有一个枚举类型的属性,称为继承级别。这就是我通过谷歌搜索所能找到的全部信息。以下是我的问题:
  • 该属性是否实际起作用,还是仅仅是注释?

  • 如果它确实起作用,它是否通过抛出编译时错误来强制执行继承(或不继承)?

  • 或者,它是否可以实际更改被继承的内容?例如,选择了InheritanceLevel.NotInherited,那么它是否会取消继承?


1
与编译器无关。请参见备注。 - SLaks
2
属性本身什么时候会有任何作用?它们是用来处理元数据的。 - Grant Thomas
该文档提到:“当IInheritanceService的AddInheritedComponents方法搜索组件的组件字段以识别从基类继承的字段时,该方法使用InheritanceAttribute表示每个组件的继承级别。” 这并没有说太多,但我可以说它除此之外没有其他用途。 - C.Evenhuis
很容易忘记属性只是元数据。这是我需要更加注意的事情。至于备注部分……我真的很高兴在SO上有像你们这样的人。真的很高兴。 - Tin Can
@Mr.Disappointment:编译器内部有一些属性可以实现各种互操作性操作,例如[MethodImpl]等。 - SLaks
显示剩余2条评论
1个回答

3
  • 它并不做任何事情,仅仅是编译器/链接器内部使用的一种标记符号。

  • 无适用内容

  • 无适用内容


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接