PropertyAttributes Enum

Definitie

Hiermee definieert u de kenmerken die aan een eigenschap kunnen worden gekoppeld. Deze kenmerkwaarden worden gedefinieerd in corhdr.h.

Deze opsomming ondersteunt een bitsgewijze combinatie van de waarden van de leden.

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
Overname
PropertyAttributes
Kenmerken

Velden

Name Waarde Description
None 0

Hiermee geeft u op dat er geen kenmerken aan een eigenschap zijn gekoppeld.

SpecialName 512

Hiermee geeft u op dat de eigenschap speciaal is, met de naam die beschrijft hoe de eigenschap speciaal is.

RTSpecialName 1024

Hiermee geeft u op dat de interne METAGEGEVENS-API's de naamcodering controleren.

HasDefault 4096

Hiermee geeft u op dat de eigenschap een standaardwaarde heeft.

Reserved2 8192

Gereserveerd.

Reserved3 16384

Gereserveerd.

Reserved4 32768

Gereserveerd.

ReservedMask 62464

Hiermee geeft u een vlag die alleen is gereserveerd voor runtime-gebruik.

Voorbeelden

In het volgende voorbeeld worden drie eigenschappen gebouwd en wordt de PropertyAttributes opgesomde waarde weergegeven. Houd er rekening mee dat de eigenschap Alleen-lezen geen setter heeft en dus niet kan worden gewijzigd door.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

Opmerkingen

Om de PropertyAttributes, eerst de klas Typete krijgen. TypeHaal de PropertyInfo. PropertyInfoHaal de Attributes.

De opgesomde waarde is een getal dat de bitsgewijze OF van de kenmerken vertegenwoordigt die op de methode zijn geïmplementeerd.

Van toepassing op