作用是可将该特性应用于程序集、接口、类、结构、委托、枚举、字段、方法或属性。
默认为 true,指示该托管类型对 COM 是可见的。 使所有公共托管程序集及类型可见并不需要使用此特性;默认情况下,它们对 COM 是可见的。 只能使 public 类型可见。 而不能使用该特性使原本为 internal 或 protected 的类型对 COM 可见,也不能使不可见类型的成员可见。
如果对程序集将该特性设置为 false,将隐藏该程序集中的所有 public 类型。 通过将个别类型设置为 true,可以有选择地使程序集中的类型可见。 如果对于某个特定类型将该特性设置为 false,将隐藏该类型及其成员。 但如果某个类型是不可见的,则无法使该类型的成员可见。 如果对于某个类型将该特性设置为 false,可防止该类型被导出到类型库;不注册类;接口从不响应非托管 QueryInterface 调用。
除非将类及其成员显式设置为 false,否则,继承类将向 COM 公开原始类中不可见的基类成员。 例如,如果将 ClassA 设置为 false,而且不对其成员应用该特性,则该类及其成员对 COM 是不可见的。 但是,如果从 ClassA 派生 ClassB,并将 ClassB 导出到 COM,则 ClassA 的成员将成为 ClassB 的可见基类成员。
|