PropertyInfo.GetSetMethod Método

Definição

Retorna um MethodInfo que representa o acessador set para essa propriedade.Returns a MethodInfo representing the set accessor for this property.

Sobrecargas

GetSetMethod(Boolean)

Quando substituído em uma classe derivada, retorna o acessador set dessa propriedade.When overridden in a derived class, returns the set accessor for this property.

GetSetMethod()

Retorna o acessador set público para essa propriedade.Returns the public set accessor for this property.

GetSetMethod(Boolean)

Quando substituído em uma classe derivada, retorna o acessador set dessa propriedade.When overridden in a derived class, returns the set accessor for this property.

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

Parâmetros

nonPublic
Boolean

Indica se o acessador deverá ser retornado se ele não for público.Indicates whether the accessor should be returned if it is non-public. true se um acessador não público deve ser retornado; caso contrário, false.true if a non-public accessor is to be returned; otherwise, false.

Retornos

O método Set esta propriedade ou null, conforme mostrado na tabela a seguir.This property's Set method, or null, as shown in the following table.

ValorValue CondiçãoCondition
O método Set desta propriedade.The Set method for this property. O acessador set é público.The set accessor is public. - ou --or- nonPublic é true e o acessador set não é público.nonPublic is true and the set accessor is non-public.
nullnonPublic é true, mas a propriedade é somente leitura.nonPublic is true, but the property is read-only. - ou --or- nonPublic é false e o acessador set não é público.nonPublic is false and the set accessor is non-public. - ou --or- Não há nenhum acessador set.There is no set accessor.

Implementações

Exceções

O método solicitado não é público e o chamador não tem ReflectionPermission para refletir sobre esse método não público.The requested method is non-public and the caller does not have ReflectionPermission to reflect on this non-public method.

Exemplos

O exemplo a seguir exibe set o acessador para a propriedade especificada.The following example displays the set accessor for the specified property.

using namespace System;
using namespace System::Reflection;

// Define a property.
public ref class Myproperty
{
private:
   String^ caption;

public:

   property String^ Caption 
   {
      String^ get()
      {
         return caption;
      }

      void set( String^ value )
      {
         if ( caption != value )
         {
            caption = value;
         }
      }

   }

};

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 {0} returns a {1}", Mypropertyinfoa->Name, Mygetmethodinfoa->ReturnType );
   MethodInfo^ Mygetmethodinfob = Mypropertyinfob->GetSetMethod();
   Console::Write( "\nSetAccessor for {0} returns a {1}", Mypropertyinfob->Name, Mygetmethodinfob->ReturnType );
   
   // Display the GetSetMethod without using the MethodInfo.
   Console::Write( "\n\n{0}.{1} GetSetMethod - {2}", MyTypea->FullName, Mypropertyinfoa->Name, Mypropertyinfoa->GetSetMethod() );
   Console::Write( "\n{0}.{1} GetSetMethod - {2}", MyTypeb->FullName, Mypropertyinfob->Name, Mypropertyinfob->GetSetMethod() );
   return 0;
}

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

Comentários

Para usar o GetSetMethod método, primeiro obtenha a classe Type.To use the GetSetMethod method, first get the class Type. No, obtenha o PropertyInfo. TypeFrom the Type, get the PropertyInfo. No, use o GetSetMethod método. PropertyInfoFrom the PropertyInfo, use the GetSetMethod method.

Segurança

ReflectionPermission
quando invocado com associação tardia por meio de mecanismos como 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[]). Enumeração associada: MemberAccess.Associated enumeration: MemberAccess.

GetSetMethod()

Retorna o acessador set público para essa propriedade.Returns the public set accessor for this property.

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

Retornos

O objeto MethodInfo representando o método Set para essa propriedade se o acessador set for público ou null, se o acessador set não for público.The MethodInfo object representing the Set method for this property if the set accessor is public, or null if the set accessor is not public.

Implementações

Comentários

Esse é um método de conveniência que fornece uma implementação para o GetSetMethod método abstract com nonPublic o parâmetro definido falsecomo.This is a convenience method that provides an implementation for the abstract GetSetMethod method with the nonPublic parameter set to false.

Para usar o GetSetMethod método, primeiro obtenha a classe Type.To use the GetSetMethod method, first get the class Type. No, obtenha o PropertyInfo. TypeFrom the Type, get the PropertyInfo. No, use o GetSetMethod método. PropertyInfoFrom the PropertyInfo, use the GetSetMethod method.

Segurança

ReflectionPermission
quando invocado com associação tardia por meio de mecanismos como 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[]). Enumeração associada: MemberAccess.Associated enumeration: MemberAccess.

Aplica-se a