使用[ComVisible()][ComVisibleAttribute()]有什么区别?他们做的完全一样,所以有什么区别呢?

谢谢。

最佳答案

.NET中的通用约定是,所有属性类的后缀为Attribute-因此,实际的类名称为ComVisibleAttribute。这适合扩展类并保留其名称作为后缀的最佳实践。

但是,这会使属性名称变得冗长而笨拙,并且使您的代码杂乱无章。这就是C#编译器知道指定属性的原因,它会搜索给定的显式名称,如果找不到,则会在其后附加Attribute

如果检查代码的编译源,您会发现[ComVisible][ComVisibleAttribute]都编译为完全相同的东西。只是编译器为我们提供了一些语法上的便利,以避免在每个地方都看到“属性”一词。

08-07 04:23