PropertyInfo.GetSetMethod Метод

Определение

MethodInfo set Возвращает объект доступа для этого свойства.

Перегрузки

Имя Описание
GetSetMethod(Boolean)

При переопределении в производном классе возвращает set метод доступа для этого свойства.

GetSetMethod()

Возвращает общедоступный set метод доступа для этого свойства.

GetSetMethod(Boolean)

Исходный код:
PropertyInfo.cs
Исходный код:
PropertyInfo.cs
Исходный код:
PropertyInfo.cs
Исходный код:
PropertyInfo.cs
Исходный код:
PropertyInfo.cs

При переопределении в производном классе возвращает set метод доступа для этого свойства.

public:
 abstract System::Reflection::MethodInfo ^ GetSetMethod(bool nonPublic);
public abstract System.Reflection.MethodInfo? GetSetMethod(bool nonPublic);
public abstract System.Reflection.MethodInfo GetSetMethod(bool nonPublic);
abstract member GetSetMethod : bool -> System.Reflection.MethodInfo
Public MustOverride Function GetSetMethod (nonPublic As Boolean) As MethodInfo

Параметры

nonPublic
Boolean

Указывает, следует ли возвращать метод доступа, если он недоступен. true Значение , если недоступная функция доступа должна быть возвращена; falseв противном случае .

Возвращаемое значение

Метод этого свойства Set или null, как показано в следующей таблице.

Ценность Состояние
Set Метод для этого свойства. Метод set доступа является общедоступным, or nonPublic is true , и set метод доступа не является общедоступным.
null nonPublicis true, но свойство доступно только для чтения, ИЛИ является nonPublic и false метод доступа не является общедоступным, ИЛИ set отсутствует set метод доступа.

Реализации

Исключения

Запрошенный метод не является открытым, и вызывающий объект не должен ReflectionPermission отражать этот недоступный метод.

Примеры

В следующем примере показан set метод доступа для указанного свойства.

using System;
using System.Reflection;

// Define a property.
public class Myproperty
{
    private string caption = "A Default caption";
    public string Caption
    {
        get{return caption;}
        set {if(caption!=value) {caption = value;}
        }
    }
}

class Mypropertyinfo
{
    public static int Main()
    {
        Console.WriteLine ("\nReflection.PropertyInfo");

        // Get the type and PropertyInfo for two separate properties.
        Type MyTypea = Type.GetType("Myproperty");
        PropertyInfo Mypropertyinfoa = MyTypea.GetProperty("Caption");
        Type MyTypeb = Type.GetType("System.Text.StringBuilder");
        PropertyInfo Mypropertyinfob = MyTypeb.GetProperty("Length");
        // Get and display the GetSetMethod method for each property.
        MethodInfo Mygetmethodinfoa = Mypropertyinfoa.GetSetMethod();
        Console.Write ("\nSetAccessor for " + Mypropertyinfoa.Name
            + " returns a " + Mygetmethodinfoa.ReturnType);
        MethodInfo Mygetmethodinfob = Mypropertyinfob.GetSetMethod();
        Console.Write ("\nSetAccessor for " + Mypropertyinfob.Name
            + " returns a " + Mygetmethodinfob.ReturnType);

        // Display the GetSetMethod without using the MethodInfo.
        Console.Write ("\n\n" + MyTypea.FullName + "."
            + Mypropertyinfoa.Name + " GetSetMethod - "
            + Mypropertyinfoa.GetSetMethod());
        Console.Write ("\n" + MyTypeb.FullName + "."
            + Mypropertyinfob.Name + " GetSetMethod - "
            + Mypropertyinfob.GetSetMethod());
        return 0;
    }
}
Imports System.Reflection

' Define a property.
Public Class Myproperty
    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

Class Mypropertyinfo

    Public Shared Function Main() As Integer
        Console.WriteLine(ControlChars.CrLf & "Reflection.PropertyInfo")

        ' Get the type and PropertyInfo for two separate properties.
        Dim MyTypea As Type = Type.GetType("Myproperty")
        Dim Mypropertyinfoa As PropertyInfo = MyTypea.GetProperty("Caption")
        Dim MyTypeb As Type = Type.GetType("System.Text.StringBuilder")
        Dim Mypropertyinfob As PropertyInfo = MyTypeb.GetProperty("Length")
        ' Get and display the GetSetMethod method for each property.
        Dim Mygetmethodinfoa As MethodInfo = Mypropertyinfoa.GetSetMethod()
        Console.WriteLine("SetAccessor for " & Mypropertyinfoa.Name & _
           " returns a " & Mygetmethodinfoa.ReturnType.ToString())
        Dim Mygetmethodinfob As MethodInfo = Mypropertyinfob.GetSetMethod()
        Console.WriteLine("SetAccessor for " & Mypropertyinfob.Name & _
           " returns a " & Mygetmethodinfob.ReturnType.ToString())

        ' Display the GetSetMethod without using the MethodInfo.
        Console.WriteLine(MyTypea.FullName & "." & Mypropertyinfoa.Name & _
           " GetSetMethod - " & Mypropertyinfoa.GetSetMethod().ToString())
        Console.WriteLine(MyTypeb.FullName & "." & Mypropertyinfob.Name & _
           " GetSetMethod - " & Mypropertyinfob.GetSetMethod().ToString())
        Return 0
    End Function
End Class

Комментарии

Чтобы использовать метод GetSetMethod, сначала получите класс Type. Из Typeполучите PropertyInfo. В PropertyInfoиспользуйте метод GetSetMethod.

Применяется к

GetSetMethod()

Исходный код:
PropertyInfo.cs
Исходный код:
PropertyInfo.cs
Исходный код:
PropertyInfo.cs
Исходный код:
PropertyInfo.cs
Исходный код:
PropertyInfo.cs

Возвращает общедоступный set метод доступа для этого свойства.

public:
 System::Reflection::MethodInfo ^ GetSetMethod();
public:
 virtual System::Reflection::MethodInfo ^ GetSetMethod();
public System.Reflection.MethodInfo? GetSetMethod();
public System.Reflection.MethodInfo GetSetMethod();
member this.GetSetMethod : unit -> System.Reflection.MethodInfo
abstract member GetSetMethod : unit -> System.Reflection.MethodInfo
override this.GetSetMethod : unit -> System.Reflection.MethodInfo
Public Function GetSetMethod () As MethodInfo

Возвращаемое значение

Объект MethodInfo , Set представляющий метод для этого свойства, если set метод доступа является общедоступным, или null если set метод доступа не является общедоступным.

Реализации

Комментарии

Это удобный метод, который предоставляет реализацию абстрактного GetSetMethod метода с заданным параметром nonPublicfalse.

Чтобы использовать метод GetSetMethod, сначала получите класс Type. Из Typeполучите PropertyInfo. В PropertyInfoиспользуйте метод GetSetMethod.

Применяется к