PropertyInfo.GetAccessors PropertyInfo.GetAccessors PropertyInfo.GetAccessors PropertyInfo.GetAccessors Method

Definition

Gibt ein Array der get-Accessoren und set-Accessoren für diese Eigenschaft zurück.Returns an array of the get and set accessors on this property.

Überlädt

GetAccessors() GetAccessors() GetAccessors() GetAccessors()

Gibt ein Array zurück, dessen Elemente den öffentlichen get- und set-Accessor der Eigenschaft reflektieren, die von der aktuellen Instanz reflektiert wird.Returns an array whose elements reflect the public get and set accessors of the property reflected by the current instance.

GetAccessors(Boolean) GetAccessors(Boolean) GetAccessors(Boolean) GetAccessors(Boolean)

Gibt ein Array zurück, dessen Elemente den öffentlichen und, sofern angegeben, den nicht öffentlichen get- und set-Accessoren der Eigenschaft entsprechen, die durch die aktuelle Instanz angegeben ist.Returns an array whose elements reflect the public and, if specified, non-public get and set accessors of the property reflected by the current instance.

GetAccessors() GetAccessors() GetAccessors() GetAccessors()

Gibt ein Array zurück, dessen Elemente den öffentlichen get- und set-Accessor der Eigenschaft reflektieren, die von der aktuellen Instanz reflektiert wird.Returns an array whose elements reflect the public get and set accessors of the property reflected by the current instance.

public:
 virtual cli::array <System::Reflection::MethodInfo ^> ^ GetAccessors();
public System.Reflection.MethodInfo[] GetAccessors ();
abstract member GetAccessors : unit -> System.Reflection.MethodInfo[]
override this.GetAccessors : unit -> System.Reflection.MethodInfo[]
Public Function GetAccessors () As MethodInfo()

Gibt zurück

Ein Array von MethodInfo-Objekten, die den öffentlichen get- und set-Accessor der Eigenschaft reflektieren, die von der aktuellen Instanz reflektiert wird, sofern gefunden. Andernfalls gibt diese Methode ein Array mit 0 (null) Elementen zurück.An array of MethodInfo objects that reflect the public get and set accessors of the property reflected by the current instance, if found; otherwise, this method returns an array with zero (0) elements.

Implementiert

Beispiele

Das folgende Beispiel ruft die öffentlichen Accessoren für die ClassWithProperty.Caption -Eigenschaft und zeigt Informationen zu diesen.The following example retrieves the public accessors of the ClassWithProperty.Caption property and displays information about them. Er ruft auch die Invoke -Methode der Setter-Methode zum Festlegen des Werts der Eigenschaft und der getter-Methode zum Abrufen des Werts der Eigenschaft.It also calls the Invoke method of the setter to set the property value and of the getter to retrieve the property value.

using System;
using System.Reflection;
 
// Define a property.
public class ClassWithProperty
{
    private string _caption = "A Default caption";

    public string Caption
    {
        get { return _caption; }
        set { if(_caption != value) _caption = value; }
    }
}
 
class Example
{
    public static void Main()
    {
        ClassWithProperty test = new ClassWithProperty();
        Console.WriteLine("The Caption property: {0}", test.Caption);
        Console.WriteLine("----------");
        // Get the type and PropertyInfo.
        Type t = Type.GetType("ClassWithProperty");
        PropertyInfo propInfo = t.GetProperty("Caption");
 
        // Get the public GetAccessors method.
        MethodInfo[] methInfos = propInfo.GetAccessors();
        Console.WriteLine("There are {0} accessors.",
                          methInfos.Length);
        for(int ctr = 0; ctr < methInfos.Length; ctr++) {
           MethodInfo m = methInfos[ctr];
           Console.WriteLine("Accessor #{0}:", ctr + 1);
           Console.WriteLine("   Name: {0}", m.Name);
           Console.WriteLine("   Visibility: {0}", GetVisibility(m));
           Console.Write("   Property Type: ");
           // Determine if this is the property getter or setter.
           if (m.ReturnType == typeof(void)) {
              Console.WriteLine("Setter");
              Console.WriteLine("   Setting the property value.");
              //  Set the value of the property.
              m.Invoke(test, new object[] { "The Modified Caption" } );
           }
           else {
              Console.WriteLine("Getter");
              // Get the value of the property.
              Console.WriteLine("   Property Value: {0}",
                                m.Invoke(test, new object[] {} ));
           }
        }
        Console.WriteLine("----------");
        Console.WriteLine("The Caption property: {0}", test.Caption);
    }

    static string GetVisibility(MethodInfo m)
    {
       string visibility = "";
       if (m.IsPublic)
          return "Public";
       else if (m.IsPrivate)
          return "Private";
       else
          if (m.IsFamily)
             visibility = "Protected ";
          else if (m.IsAssembly)
             visibility += "Assembly";
       return visibility;
    }
}
// The example displays the following output:
//       The Caption property: A Default caption
//       ----------
//       There are 2 accessors.
//       Accessor #1:
//          Name: get_Caption
//          Visibility: Public
//          Property Type: Getter
//          Property Value: A Default caption
//       Accessor #2:
//          Name: set_Caption
//          Visibility: Public
//          Property Type: Setter
//          Setting the property value.
//       ----------
//       The Caption property: The Modified Caption
Imports System.Reflection

' Define a property.
Public Class ClassWithProperty
    Private _caption As String = "A Default caption"

    Public Property Caption As String
        Get
            Return _caption
        End Get
        Set
            If _caption <> value Then _caption = value
        End Set
    End Property
End Class

Module Example
    Public Sub Main()
        Dim test As New ClassWithProperty()
        Console.WriteLine("The Caption property: {0}", test.Caption)
        Console.WriteLine("----------")
        ' Get the type and PropertyInfo.
        Dim t As Type = Type.GetType("ClassWithProperty")
        Dim propInfo As PropertyInfo = t.GetProperty("Caption")

        ' Get all the accessors.
        Dim methInfos() As MethodInfo = propInfo.GetAccessors()
        Console.WriteLine("There are {0} accessors.",
                          methInfos.Length)
        For ctr As Integer = 0 To methInfos.Length - 1
           Dim m As MethodInfo = methInfos(ctr)
           Console.WriteLine("Accessor #{0}:", ctr + 1)
           Console.WriteLine("   Name: {0}", m.Name)
           Console.WriteLine("   Visibility: {0}", GetVisibility(m))
           Console.Write("   Property Type: ")
           ' Determine if this is the property getter or setter.
''           If (m.ReturnType == typeof(void))
           If m.ReturnType Is GetType(Void) Then
              Console.WriteLine("Setter")
              Console.WriteLine("   Setting the property value.")
              ' Set the value of the property.
              m.Invoke(test, { "The Modified Caption" } )
           Else
              Console.WriteLine("Getter")
              ' Get the value of the property.
              Console.WriteLine("   Property Value: {0}",
                                m.Invoke(test, {} ))
           End If
        Next
        Console.WriteLine("----------")
        Console.WriteLine("The Caption property: {0}", test.Caption)
    End Sub
    
    Private Function GetVisibility(m As MethodInfo) As String
       Dim visibility As String = ""
       If m.IsPublic Then
          Return "Public"
       ElseIf m.IsPrivate Then
          Return "Private"
       Else
          If m.IsFamily Then
             visibility = "Protected "
          ElseIf m.IsAssembly Then
             visibility += "Assembly"
          End If
       End If
       Return visibility
    End Function
End Module
' The example displays the following output:
'       The Caption property: A Default caption
'       ----------
'       There are 2 accessors.
'       Accessor #1:
'          Name: get_Caption
'          Visibility: Public
'          Property Type: Getter
'          Property Value: A Default caption
'       Accessor #2:
'          Name: set_Caption
'          Visibility: Public
'          Property Type: Setter
'          Setting the property value.
'       ----------
'       The Caption property: The Modified Caption

Hinweise

Zum Aufrufen der GetAccessors Methode:To call the GetAccessors method:

  1. Abrufen einer Type -Objekt, das die Klasse darstellt.Get a Type object that represents the class.

  2. Von der Type Objekt, das Abrufen der PropertyInfo Objekt.From the Type object, get the PropertyInfo object.

  3. Von der PropertyInfo Objekt, rufen Sie die GetAccessors Methode.From the PropertyInfo object, call the GetAccessors method.

Sicherheit

ReflectionPermission
Beim Aufruf spät gebundene durch Mechanismen wie z. B. InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]).when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Zugeordnete Enumeration: MemberAccessAssociated enumeration: MemberAccess.

GetAccessors(Boolean) GetAccessors(Boolean) GetAccessors(Boolean) GetAccessors(Boolean)

Gibt ein Array zurück, dessen Elemente den öffentlichen und, sofern angegeben, den nicht öffentlichen get- und set-Accessoren der Eigenschaft entsprechen, die durch die aktuelle Instanz angegeben ist.Returns an array whose elements reflect the public and, if specified, non-public get and set accessors of the property reflected by the current instance.

public:
 abstract cli::array <System::Reflection::MethodInfo ^> ^ GetAccessors(bool nonPublic);
public abstract System.Reflection.MethodInfo[] GetAccessors (bool nonPublic);
abstract member GetAccessors : bool -> System.Reflection.MethodInfo[]
Public MustOverride Function GetAccessors (nonPublic As Boolean) As MethodInfo()

Parameter

nonPublic
Boolean Boolean Boolean Boolean

Gibt an, ob nicht öffentliche Methoden im zurückgegebenen Array zurückgegeben werden sollen.Indicates whether non-public methods should be returned in the returned array. true, wenn nicht öffentliche Methoden eingeschlossen werden sollen, andernfalls false.true if non-public methods are to be included; otherwise, false.

Gibt zurück

Ein Array, dessen Elemente den get- und set-Accessoren der Eigenschaft entsprechen, die durch die aktuelle Instanz angegeben ist.An array whose elements reflect the get and set accessors of the property reflected by the current instance. Wenn nonPublic gleich true ist, enthält dieses Array die öffentlichen und die nicht öffentlichen get- und set-Accessoren.If nonPublic is true, this array contains public and non-public get and set accessors. Wenn nonPublic gleich false ist, enthält dieses Array nur die öffentlichen get- und set-Accessoren.If nonPublic is false, this array contains only public get and set accessors. Wenn keine Accessoren mit der angegebenen Sichtbarkeit gefunden werden, gibt diese Methode ein Array mit 0 Elementen zurück.If no accessors with the specified visibility are found, this method returns an array with zero (0) elements.

Implementiert

Beispiele

Das folgende Beispiel ruft die Accessoren für die ClassWithProperty.Caption -Eigenschaft und zeigt Informationen zu diesen.The following example retrieves the accessors of the ClassWithProperty.Caption property and displays information about them. Er ruft auch die Invoke -Methode der Setter-Methode zum Festlegen des Werts der Eigenschaft und der getter-Methode zum Abrufen des Werts der Eigenschaft.It also calls the Invoke method of the setter to set the property value and of the getter to retrieve the property value.

using System;
using System.Reflection;
 
// Define a property.
public class ClassWithProperty
{
    private string _caption = "A Default caption";

    public string Caption
    {
        get { return _caption; }
        set { if(_caption != value) _caption = value; }
    }
}
 
class Example
{
    public static void Main()
    {
        ClassWithProperty test = new ClassWithProperty();
        Console.WriteLine("The Caption property: {0}", test.Caption);
        Console.WriteLine("----------");
        // Get the type and PropertyInfo.
        Type t = Type.GetType("ClassWithProperty");
        PropertyInfo propInfo = t.GetProperty("Caption");
 
        // Get the public GetAccessors method.
        MethodInfo[] methInfos = propInfo.GetAccessors(true);
        Console.WriteLine("There are {0} accessors.",
                          methInfos.Length);
        for(int ctr = 0; ctr < methInfos.Length; ctr++) {
           MethodInfo m = methInfos[ctr];
           Console.WriteLine("Accessor #{0}:", ctr + 1);
           Console.WriteLine("   Name: {0}", m.Name);
           Console.WriteLine("   Visibility: {0}", GetVisibility(m));
           Console.Write("   Property Type: ");
           // Determine if this is the property getter or setter.
           if (m.ReturnType == typeof(void)) {
              Console.WriteLine("Setter");
              Console.WriteLine("   Setting the property value.");
              //  Set the value of the property.
              m.Invoke(test, new object[] { "The Modified Caption" } );
           }
           else {
              Console.WriteLine("Getter");
              // Get the value of the property.
              Console.WriteLine("   Property Value: {0}",
                                m.Invoke(test, new object[] {} ));
           }
        }
        Console.WriteLine("----------");
        Console.WriteLine("The Caption property: {0}", test.Caption);
    }

    static string GetVisibility(MethodInfo m)
    {
       string visibility = "";
       if (m.IsPublic)
          return "Public";
       else if (m.IsPrivate)
          return "Private";
       else
          if (m.IsFamily)
             visibility = "Protected ";
          else if (m.IsAssembly)
             visibility += "Assembly";
       return visibility;
    }
}
// The example displays the following output:
//       The Caption property: A Default caption
//       ----------
//       There are 2 accessors.
//       Accessor #1:
//          Name: get_Caption
//          Visibility: Public
//          Property Type: Getter
//          Property Value: A Default caption
//       Accessor #2:
//          Name: set_Caption
//          Visibility: Public
//          Property Type: Setter
//          Setting the property value.
//       ----------
//       The Caption property: The Modified Caption
Imports System.Reflection

' Define a property.
Public Class ClassWithProperty
    Private _caption As String = "A Default caption"

    Public Property Caption As String
        Get
            Return _caption
        End Get
        Set
            If _caption <> value Then _caption = value
        End Set
    End Property
End Class

Module Example
    Public Sub Main()
        Dim test As New ClassWithProperty()
        Console.WriteLine("The Caption property: {0}", test.Caption)
        Console.WriteLine("----------")
        ' Get the type and PropertyInfo.
        Dim t As Type = Type.GetType("ClassWithProperty")
        Dim propInfo As PropertyInfo = t.GetProperty("Caption")

        ' Get all the accessors.
        Dim methInfos() As MethodInfo = propInfo.GetAccessors(True)
        Console.WriteLine("There are {0} accessors.",
                          methInfos.Length)
        For ctr As Integer = 0 To methInfos.Length - 1
           Dim m As MethodInfo = methInfos(ctr)
           Console.WriteLine("Accessor #{0}:", ctr + 1)
           Console.WriteLine("   Name: {0}", m.Name)
           Console.WriteLine("   Visibility: {0}", GetVisibility(m))
           Console.Write("   Property Type: ")
           ' Determine if this is the property getter or setter.
''           If (m.ReturnType == typeof(void))
           If m.ReturnType Is GetType(Void) Then
              Console.WriteLine("Setter")
              Console.WriteLine("   Setting the property value.")
              ' Set the value of the property.
              m.Invoke(test, { "The Modified Caption" } )
           Else
              Console.WriteLine("Getter")
              ' Get the value of the property.
              Console.WriteLine("   Property Value: {0}",
                                m.Invoke(test, {} ))
           End If
        Next
        Console.WriteLine("----------")
        Console.WriteLine("The Caption property: {0}", test.Caption)
    End Sub
    
    Private Function GetVisibility(m As MethodInfo) As String
       Dim visibility As String = ""
       If m.IsPublic Then
          Return "Public"
       ElseIf m.IsPrivate Then
          Return "Private"
       Else
          If m.IsFamily Then
             visibility = "Protected "
          ElseIf m.IsAssembly Then
             visibility += "Assembly"
          End If
       End If
       Return visibility
    End Function
End Module
' The example displays the following output:
'       The Caption property: A Default caption
'       ----------
'       There are 2 accessors.
'       Accessor #1:
'          Name: get_Caption
'          Visibility: Public
'          Property Type: Getter
'          Property Value: A Default caption
'       Accessor #2:
'          Name: set_Caption
'          Visibility: Public
'          Property Type: Setter
'          Setting the property value.
'       ----------
'       The Caption property: The Modified Caption

Hinweise

Zum Aufrufen der GetAccessors Methode:To call the GetAccessors method:

  1. Abrufen einer Type -Objekt, das die Klasse darstellt.Get a Type object that represents the class.

  2. Von der Type Objekt, das Abrufen der PropertyInfo Objekt.From the Type object, get the PropertyInfo object.

  3. Von der PropertyInfo Objekt, rufen Sie die GetAccessors Methode.From the PropertyInfo object, call the GetAccessors method.

Sicherheit

ReflectionPermission
Beim Aufruf spät gebundene durch Mechanismen wie z. B. InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]).when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Zugeordnete Enumeration: MemberAccessAssociated enumeration: MemberAccess.

Gilt für: