ComVisibleAttribute Sınıf

Tanım

Tek bir yönetilen türün veya üyenin ya da derlemedeki tüm türlerin COM'a erişilebilirliğini denetler.

public ref class ComVisibleAttribute sealed : Attribute
[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
[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)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ComVisibleAttribute : Attribute
[<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)>]
type ComVisibleAttribute = class
    inherit Attribute
[<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)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ComVisibleAttribute = class
    inherit Attribute
Public NotInheritable Class ComVisibleAttribute
Inherits Attribute
Devralma
ComVisibleAttribute
Öznitelikler

Örnekler

Aşağıdaki örnekte, üyeleri görünmez olacak şekilde bir sınıfın COM görünürlüğünü nasıl denetleyebileceğiniz gösterilmektedir. ComVisibleAttribute MyClass(Visual Basic örnekte SampleClass) ve MyMethod ve MyProperty üzerinde falsefalse olarak ayarlayarak, devralma yoluyla üyeleri yanlışlıkla COM'a göstermekten kaçınabilirsiniz.

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

Açıklamalar

Bu özniteliği derlemelere, arabirimlere, sınıflara, yapılara, temsilcilere, numaralandırmalara, alanlara, yöntemlere, olay erişimcilerine veya özelliklere uygulayabilirsiniz.

Varsayılan değer, trueyönetilen türün COM tarafından görüldüğünü gösteren değeridir. Bu öznitelik, genel yönetilen derlemeleri ve türleri görünür hale getirmek için gerekli değildir; varsayılan olarak COM tarafından görülebilir. Yalnızca public türler görünür hale getirilebilir. Özniteliği, com veya görünür olmayan bir türün üyelerini görünür hale getirmek veya başka bir türü internalprotected görünür yapmak için kullanılamaz.

özniteliğinin derlemede olarak false ayarlanması, derleme içindeki tüm public türleri gizler. Tek tek türleri olarak ayarlayarak derlemedeki türleri trueseçmeli olarak görünür hale getirebilirsiniz. özniteliğinin belirli bir türde olarak false ayarlanması, bu türü ve üyelerini gizler. Ancak, türü görünmezse bir türün üyelerini görünür yapamazsınız. özniteliğinin false bir tür üzerinde olarak ayarlanması, bu türün tür kitaplığına dışarı aktarılmasını engeller; sınıflar kaydedilmez; arabirimler hiçbir zaman yönetilmeyen QueryInterface çağrılara yanıt vermez.

Bir sınıfı ve üyelerini açıkça olarak falseolarak ayarlamadığınız sürece devralınan sınıflar, özgün sınıfta görünmeyen COM temel sınıf üyelerini kullanıma sunabilir. Örneğin, ClassA'yı olarak false ayarlarsanız ve özniteliğini üyelerine uygulamazsanız, sınıf ve üyeleri COM için görünmez. Ancak ClassB'yi ClassA'dan türetip ClassB'yi COM'a aktarırsanız, ClassA üyeleri ClassB'nin görünür temel sınıf üyeleri olur.

Oluşturucular

Name Description
ComVisibleAttribute(Boolean)

ComVisibleAttribute sınıfının yeni bir örneğini başlatır.

Özellikler

Name Description
TypeId

Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır.

(Devralındığı yer: Attribute)
Value

COM türünün görünür olup olmadığını gösteren bir değer alır.

Yöntemler

Name Description
Equals(Object)

Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür.

(Devralındığı yer: Attribute)
GetHashCode()

Bu örneğin karma kodunu döndürür.

(Devralındığı yer: Attribute)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
IsDefaultAttribute()

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir.

(Devralındığı yer: Attribute)
Match(Object)

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür.

(Devralındığı yer: Attribute)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

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

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).

(Devralındığı yer: Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından kullanıma sunulan özelliklere ve yöntemlere erişim sağlar.

(Devralındığı yer: Attribute)

Şunlara uygulanır

Ayrıca bkz.