使用[ComVisible()]和[ComVisibleAttribute()]有什么区别?他们做同样的事所以有什么区别吗?
谢谢。
发布于 2016-06-20 06:48:02
.NET中的常见约定是以Attribute后缀结束所有属性类,因此实际的类名是ComVisibleAttribute。这符合扩展类并将其名称作为后缀的最佳实践。
然而,这使得属性名又长又难处理,并使代码中充斥着大量的样板词。这就是为什么C#编译器知道当一个属性被指定时,它会搜索给定的显式名称,如果找不到,它会将Attribute追加到它。
如果您检查代码的编译源代码,您将看到[ComVisible]和[ComVisibleAttribute]都编译为完全相同的内容。这只是编译器给了我们一些语法糖,以避免在任何地方看到单词属性。
https://stackoverflow.com/questions/37916091
复制相似问题