ComVisibleAttribute ComVisibleAttribute ComVisibleAttribute ComVisibleAttribute Class

Definice

Ovládací prvky usnadnění jednotlivé spravovaného typu nebo člena nebo všech typů v rámci sestavení, do modelu COM.Controls accessibility of an individual managed type or member, or of all types within an assembly, to COM.

public ref class ComVisibleAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Struct | System.AttributeTargets.Enum | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.Field | System.AttributeTargets.Interface | System.AttributeTargets.Delegate, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Delegate | System.AttributeTargets.Enum | System.AttributeTargets.Field | System.AttributeTargets.Interface | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.Struct, Inherited=false)]
public sealed class ComVisibleAttribute : Attribute
type ComVisibleAttribute = class
    inherit Attribute
Public NotInheritable Class ComVisibleAttribute
Inherits Attribute
Dědičnost
ComVisibleAttributeComVisibleAttributeComVisibleAttributeComVisibleAttribute
Atributy

Příklady

Následující příklad ukazuje, jak můžete řídit viditelnost modelu COM třídy tak, že její členy jsou neviditelná.The following example shows how you can control the visibility to COM of a class so that its members are invisible. Nastavením ComVisibleAttribute k false na MyClass(SampleClass v příkladu jazyka Visual Basic), a false na MyMethod a MyProperty, neúmyslnému zveřejnění členy rozhraní COM prostřednictvím dědičnosti se můžete vyhnout.By setting ComVisibleAttribute to false on MyClass(SampleClass in the Visual Basic example), and false on MyMethod and MyProperty, you can avoid inadvertently exposing the members to COM through inheritance.

using namespace System::Runtime::InteropServices;

[ComVisible(false)]
ref class MyClass
{
private:
   int myProperty;

public:
   MyClass()
   {
      
      //Insert code here.
   }


   [ComVisible(false)]
   int MyMethod( String^ param )
   {
      return 0;
   }

   bool MyOtherMethod()
   {
      return true;
   }


   property int MyProperty 
   {

      [ComVisible(false)]
      int get()
      {
         return myProperty;
      }

   }

};

using System.Runtime.InteropServices;

[ComVisible(false)]
class MyClass
{
   public MyClass()
   {
      //Insert code here.
   }
   
   [ComVisible(false)]
   public int MyMethod(string param) 
   {
      return 0;
   }

   public bool MyOtherMethod() 
   {
      return true;
   }

   [ComVisible(false)]
   public int MyProperty
   {
      get
      {
         return MyProperty;
      }
   }
}
Imports System.Runtime.InteropServices

<ComVisible(False)> _
Class SampleClass
    
    Public Sub New()
        'Insert code here.
    End Sub
    
    <ComVisible(False)> _
    Public Function MyMethod(param As String) As Integer
        Return 0
    End Function    
    
    Public Function MyOtherMethod() As Boolean
        Return True
    End Function
    
    <ComVisible(False)> _
    Public ReadOnly Property MyProperty() As Integer
        Get
            Return MyProperty
        End Get
    End Property
    
End Class

Poznámky

Tento atribut lze použít k sestavení, rozhraní, třídy, struktury, delegátů, výčty, pole, metody nebo vlastnosti.You can apply this attribute to assemblies, interfaces, classes, structures, delegates, enumerations, fields, methods, or properties.

Výchozí hodnota je true, což znamená, že spravovaný typ je zobrazit v modelu COM.The default is true, which indicates that the managed type is visible to COM. Tento atribut není potřebné k tomu veřejné spravovaná sestavení a typy viditelné. jsou viditelné modelu COM ve výchozím nastavení.This attribute is not needed to make public managed assemblies and types visible; they are visible to COM by default. Pouze public typy lze také zviditelnit.Only public types can be made visible. Chcete-li jinak nelze použít atribut internal nebo protected typ viditelné modelu COM nebo zviditelnit členy nonvisible typu.The attribute cannot be used to make an otherwise internal or protected type visible to COM or to make members of a nonvisible type visible.

Nastavení atributu false sestavení skryje všechny public typy v rámci sestavení.Setting the attribute to false on the assembly hides all public types within the assembly. Můžete selektivně provést typy v rámci sestavení viditelné nastavením jednotlivých typů na true.You can selectively make types within the assembly visible by setting the individual types to true. Nastavení atributu false na konkrétní typ skryje typu a její členy.Setting the attribute to false on a specific type hides that type and its members. Však nelze provádět členy typu viditelné pokud typ není viditelný.However, you cannot make members of a type visible if the type is invisible. Nastavení atributu false na typu zabrání exportována do knihovny typů typu třídy nejsou registrovány; nejsou nikdy reagovat na nespravované rozhraní QueryInterface volání.Setting the attribute to false on a type prevents that type from being exported to a type library; classes are not registered; interfaces are never responsive to unmanaged QueryInterface calls.

Pokud není explicitně nastavit třídy a jeho členy k false, zděděné třídy můžete zveřejnit na členy základní třídy modelu COM, které jsou viditelné ve zdrojové třídě.Unless you explicitly set a class and its members to false, inherited classes can expose to COM base class members that are invisible in the original class. Například pokud ClassA nastavíte na false a atribut nedá použít k jejím členům, třídy a její členy jsou viditelná modelu COM.For example, if you set ClassA to false and do not apply the attribute to its members, the class and its members are invisible to COM. Nicméně pokud ClassA odvozovat ClassB a ClassB exportovat do modelu COM, členy ClassA stanou členy viditelné základní třídy ClassB.However, if you derive ClassB from ClassA and export ClassB to COM, ClassA members become visible base class members of ClassB.

Podrobný popis procesu exportu, naleznete v tématu sestavení pro souhrn převodu knihovny typů.For a detailed description of the export process, see Assembly to Type Library Conversion Summary.

Konstruktory

ComVisibleAttribute(Boolean) ComVisibleAttribute(Boolean) ComVisibleAttribute(Boolean) ComVisibleAttribute(Boolean)

Inicializuje novou instanci třídy ComVisibleAttribute třídy.Initializes a new instance of the ComVisibleAttribute class.

Vlastnosti

TypeId TypeId TypeId TypeId

Při implementaci do odvozené třídy získá jedinečný identifikátor pro tento Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)
Value Value Value Value

Získá hodnotu, která určuje, zda je typ modelu COM viditelný.Gets a value that indicates whether the COM type is visible.

Metody

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu.Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Vrátí kód hash této instance.Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

Získá Type aktuální instance.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

Při přepisu v odvozené třídě, označuje, zda je hodnota této instance výchozí hodnoty pro odvozenou třídu.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

Při přepisu v odvozené třídě vrátí hodnotu určující, zda tato instance rovná zadanému objektu.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Vytvoří Mělkou kopii aktuální Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Vrací řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(Inherited from Object)

Explicitní implementace rozhraní

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, který slouží k získání informací o typu pro rozhraní.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Platí pro

Viz také