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 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
- Ö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) |
|
Ö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) |