【问题标题】:ComVisible() vs ComVisibleAttribute()ComVisible() 与 ComVisibleAttribute()
【发布时间】:2016-06-20 06:44:16
【问题描述】:

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

谢谢。

【问题讨论】:

    标签: c# attributes comvisible


    【解决方案1】:

    .NET 中的通用约定是以后缀Attribute 结束所有属性类 - 所以实际的类名称是ComVisibleAttribute。这符合扩展类并将其名称保留为后缀的最佳实践。

    但是,这会使属性名称变得冗长且笨拙,并且会使您的代码因大量样板词而变得混乱。这就是为什么 C# 编译器知道,当一个属性被指定时,它会搜索给定的显式名称,如果没有找到,它会将 Attribute 附加到它上面。

    如果您检查代码的编译源代码,您会发现[ComVisible][ComVisibleAttribute] 编译为完全相同相同的东西。只是编译器给了我们一些语法糖来避免到处看到 Attribute 这个词。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-24
      相关资源
      最近更新 更多