using[ComVisible()]
和 和有什么不一样[ComVisibleAttribute()]
?他们做的事情完全一样,那有什么区别呢?
谢谢你。
using[ComVisible()]
和 和有什么不一样[ComVisibleAttribute()]
?他们做的事情完全一样,那有什么区别呢?
谢谢你。
.NET 中的常见约定是所有属性类都以后缀结尾Attribute
- 所以实际的类名是ComVisibleAttribute
. 这符合扩展类并将其名称保留为后缀的最佳实践。
但是,这会使属性名称变得冗长且笨拙,并且会使您的代码因大量样板词而变得混乱。这就是为什么 C# 编译器知道当一个属性被指定时,它会搜索给定的显式名称,如果没有找到,它会附加Attribute
到它上面。
如果您检查代码的编译源代码,您会看到两者[ComVisible]
并[ComVisibleAttribute]
编译成完全相同的东西。只是编译器给了我们一些语法糖来避免到处看到 Attribute 这个词。