PropertyAttributes Sabit listesi
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.
Bir özellik ile ilişkilendirilebilen öznitelikleri tanımlar. Bu öznitelik değerleri corhdr.h dosyasında tanımlanır.
Bu sabit listesi, üyeleri için bit düzeyinde karşılaştırmayı destekler.
public enum class PropertyAttributes
[System.Flags]
public enum PropertyAttributes
[System.Flags]
[System.Serializable]
public enum PropertyAttributes
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum PropertyAttributes
[<System.Flags>]
type PropertyAttributes =
[<System.Flags>]
[<System.Serializable>]
type PropertyAttributes =
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PropertyAttributes =
Public Enum PropertyAttributes
- Devralma
- Öznitelikler
Alanlar
| Name | Değer | Description |
|---|---|---|
| None | 0 | Bir özellik ile ilişkili öznitelik olmadığını belirtir. |
| SpecialName | 512 | Özelliğin özel olduğunu belirtir ve özelliğin nasıl özel olduğunu açıklayan adıyla birlikte. |
| RTSpecialName | 1024 | Meta veri iç API'lerinin ad kodlamasını denetlediğini belirtir. |
| HasDefault | 4096 | Özelliğin varsayılan bir değere sahip olduğunu belirtir. |
| Reserved2 | 8192 | Rezerve edilmiş. |
| Reserved3 | 16384 | Rezerve edilmiş. |
| Reserved4 | 32768 | Rezerve edilmiş. |
| ReservedMask | 62464 | Yalnızca çalışma zamanı kullanımı için ayrılmış bir bayrak belirtir. |
Örnekler
Aşağıdaki örnek üç özellik oluşturur ve numaralandırılmış değeri görüntüler PropertyAttributes . Salt okunur özelliğin ayarlayıcısı olmadığını ve bu nedenle.Caption = statement.
using System;
using System.Reflection;
// Define three properties: one read-write, one default,
// and one read only.
public class Aproperty
// Define a read-write property.
{
private string caption = "A Default caption";
public string Caption
{
get{return caption;}
set
{
if (caption != value){caption = value;}
}
}
}
public class Bproperty
// Define a default property.
{
private string caption = "B Default caption";
public string this [int index]
{
get {return "1";}
}
public string Caption
{
get{return caption;}
set
{
if (caption != value){caption = value;}
}
}
}
public class Cproperty
// Define a read-only property.
{
private string caption = "C Default caption";
public string Caption
{
get{return caption;}
// No setting is allowed, because this is a read-only property.
}
}
class propertyattributesenum
{
public static int Main(string[] args)
{
Console.WriteLine("\nReflection.PropertyAttributes");
// Determine whether a property exists, and change its value.
Aproperty Mypropertya = new Aproperty();
Bproperty Mypropertyb = new Bproperty();
Cproperty Mypropertyc = new Cproperty();
Console.Write("\n1. Mypropertya.Caption = " + Mypropertya.Caption );
Console.Write("\n1. Mypropertyb.Caption = " + Mypropertyb.Caption );
Console.Write("\n1. Mypropertyc.Caption = " + Mypropertyc.Caption );
// Only Mypropertya can be changed, as Mypropertyb is read-only.
Mypropertya.Caption = "A- This is changed.";
Mypropertyb.Caption = "B- This is changed.";
// Note that Mypropertyc is not changed because it is read only
Console.Write("\n\n2. Mypropertya.Caption = " + Mypropertya.Caption );
Console.Write("\n2. Mypropertyb.Caption = " + Mypropertyb.Caption );
Console.Write("\n2. Mypropertyc.Caption = " + Mypropertyc.Caption );
// Get the PropertyAttributes enumeration of the property.
// Get the type.
Type MyTypea = Type.GetType("Aproperty");
Type MyTypeb = Type.GetType("Bproperty");
Type MyTypec = Type.GetType("Cproperty");
// Get the property attributes.
PropertyInfo Mypropertyinfoa = MyTypea.GetProperty("Caption");
PropertyAttributes Myattributesa = Mypropertyinfoa.Attributes;
PropertyInfo Mypropertyinfob = MyTypeb.GetProperty("Item");
PropertyAttributes Myattributesb = Mypropertyinfob.Attributes;
PropertyInfo Mypropertyinfoc = MyTypec.GetProperty("Caption");
PropertyAttributes Myattributesc = Mypropertyinfoc.Attributes;
// Display the property attributes value.
Console.Write("\n\na- " + Myattributesa.ToString());
Console.Write("\nb- " + Myattributesb.ToString());
Console.Write("\nc- " + Myattributesc.ToString());
return 0;
}
}
// This example displays the following output to the console
//
// Reflection.PropertyAttributes
//
// 1. Mypropertya.Caption = A Default caption
// 1. Mypropertyb.Caption = B Default caption
// 1. Mypropertyc.Caption = C Default caption
//
// 2. Mypropertya.Caption = A- This is changed.
// 2. Mypropertyb.Caption = B- This is changed.
// 2. Mypropertyc.Caption = C Default caption
//
// a- None
// b- None
// c- None
Imports System.Reflection
' Make three properties, one read-write, one default,
' and one read-only.
Public Class Aproperty
' Define a read-write property.
Private myCaption As String = "A Default caption"
Public Property Caption() As String
Get
Return myCaption
End Get
Set(ByVal Value As String)
If myCaption <> value Then
myCaption = value
End If
End Set
End Property
End Class
Public Class Bproperty
' Define a default property.
Private myCaption As String = "B Default caption"
Default Public ReadOnly Property Item(ByVal index As Integer) As String
Get
Return "1"
End Get
End Property
Public Property Caption() As String
Get
Return myCaption
End Get
Set(ByVal Value As String)
If myCaption <> value Then
myCaption = value
End If
End Set
End Property
End Class
Public Class Cproperty
' Define a read-only property.
Private myCaption As String = "C Default caption"
Public ReadOnly Property Caption() As String
Get
Return myCaption
End Get
'No setting is allowed because this property is read-only.
End Property
End Class
Class propertyattributesenum
Public Shared Function Main() As Integer
Console.WriteLine(ControlChars.CrLf & "Reflection.PropertyAttributes")
' Determine whether a property exists, and change its value.
Dim Mypropertya As New Aproperty()
Dim Mypropertyb As New Bproperty()
Dim Mypropertyc As New Cproperty()
Console.Write(ControlChars.CrLf & "1. Mypropertya.Caption = " & _
Mypropertya.Caption)
Console.Write(ControlChars.CrLf & "1. Mypropertyb.Caption = " & _
Mypropertyb.Caption)
Console.Write(ControlChars.CrLf & "1. Mypropertyc.Caption = " & _
Mypropertyc.Caption)
' Only Mypropertya can be changed because Mypropertyb is read-only.
Mypropertya.Caption = "A- This is changed."
Mypropertyb.Caption = "B- This is changed."
' Note that Mypropertyc is not changed, because it is read-only.
Console.Write(ControlChars.CrLf & ControlChars.CrLf & _
"2. Mypropertya.Caption = " & Mypropertya.Caption)
Console.Write(ControlChars.CrLf & "2. Mypropertyb.Caption = " & _
Mypropertyb.Caption)
Console.Write(ControlChars.CrLf + "2. Mypropertyc.Caption = " & _
Mypropertyc.Caption)
' Get the PropertyAttributes Enumeration of the property.
' Get the type.
Dim MyTypea As Type = Type.GetType("Aproperty")
Dim MyTypeb As Type = Type.GetType("Bproperty")
Dim MyTypec As Type = Type.GetType("Cproperty")
' Get the property attributes.
Dim Mypropertyinfoa As PropertyInfo = MyTypea.GetProperty("Caption")
Dim Myattributesa As PropertyAttributes = Mypropertyinfoa.Attributes
Dim Mypropertyinfob As PropertyInfo = MyTypeb.GetProperty("Item")
Dim Myattributesb As PropertyAttributes = Mypropertyinfob.Attributes
Dim Mypropertyinfoc As PropertyInfo = MyTypec.GetProperty("Caption")
Dim Myattributesc As PropertyAttributes = Mypropertyinfoc.Attributes
' Display the property attributes value.
Console.Write(ControlChars.CrLf & ControlChars.CrLf & "a- " & _
Myattributesa.ToString())
Console.Write(ControlChars.CrLf & "b- " & Myattributesb.ToString())
Console.Write(ControlChars.CrLf & "c- " & Myattributesc.ToString())
Return 0
End Function' End Function
End Class
' This example displays the following output to the console
'
' Reflection.PropertyAttributes
'
' 1. Mypropertya.Caption = A Default caption
' 1. Mypropertyb.Caption = B Default caption
' 1. Mypropertyc.Caption = C Default caption
'
' 2. Mypropertya.Caption = A- This is changed.
' 2. Mypropertyb.Caption = B- This is changed.
' 2. Mypropertyc.Caption = C Default caption
'
' a- None
' b- None
' c- None
Açıklamalar
almak PropertyAttributesiçin önce sınıfını Typealın. ' Typeden öğesini alın PropertyInfo. ' PropertyInfoden öğesini alın Attributes.
Numaralandırılmış değer, yönteminde uygulanan özniteliklerin bit düzeyinde OR değerini temsil eden bir sayıdır.