ComVisibleAttribute Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Tek bir yönetilen türün veya üyenin ya da derleme içindeki 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
- Ö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. ayarını açık MyClass
(Visual Basic örneğinde) ve üzerinde MyMethod
olarak ayarlayarak ComVisibleAttribute
false
, MyProperty
false
devralma yoluyla üyeleri yanlışlıkla COM'a maruz bırakmaktan kaçınabilirsinizSampleClass
.
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 olan true
, yönetilen türün COM tarafından görüldüğünü gösterir. Genel yönetilen derlemeleri ve türleri görünür hale getirmek için bu öznitelik 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 için başka bir veya internal
türü görünür yapmak ya da protected
görünür olmayan bir türün üyelerini 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 derleme içindeki türleri true
seçerek görünür hale getirebilirsiniz. Özniteliğin belirli bir türde olarak false
ayarlanması, bu türü ve üyelerini gizler. Ancak, bir türün üyelerini görünmez olduğunda görünür yapamazsınız. özniteliğinin false
bir tür üzerinde olarak ayarlanması, bu türün tür kitaplığına 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 false
olarak 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'a görünmez. Ancak ClassA'dan ClassB türetip ClassB'yi COM'a aktarırsanız, ClassA üyeleri ClassB'nin görünür temel sınıf üyeleri olur.
Dışarı aktarma işleminin ayrıntılı açıklaması için bkz . Derleme- Tür Kitaplığı Dönüştürme Özeti.
Oluşturucular
ComVisibleAttribute(Boolean) |
|
Özellikler
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
Equals(Object) |
Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür. (Devralındığı yer: Attribute) |
GetHashCode() |
Bu örneğe ilişkin karma kodu döndürür. (Devralındığı yer: Attribute) |
GetType() |
Type Geçerli örneğini 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 Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
_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 sunulan özelliklere ve yöntemlere erişim sağlar. (Devralındığı yer: Attribute) |