PropertyInfo.GetSetMethod 方法    
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回表示此属性的 MethodInfo 访问器的 set。
重载
| GetSetMethod(Boolean) | 当在派生类中重写时,返回此属性的  | 
| GetSetMethod() | 返回此属性的公共  | 
GetSetMethod(Boolean)
- Source:
- PropertyInfo.cs
- Source:
- PropertyInfo.cs
- Source:
- 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.MethodInfoPublic MustOverride Function GetSetMethod (nonPublic As Boolean) As MethodInfo参数
- nonPublic
- Boolean
指示如果取值函数为非公共,是否应将其返回。 如果要返回非公共取值函数,则为 true;否则为 false。
返回
此属性的 Set 方法或 null,如下表所示。
| “值” | 条件 | 
|---|---|
| 此属性的 Set方法。 | set访问器是公共的。或者,nonPublic为true且set访问器是非公共的。 | 
| null | nonPublic为true,但属性为只读。或者,nonPublic为false且set访问器是非公共的。或者,没有set访问器。 | 
实现
例外
所请求的方法为非公共且调用方没有 ReflectionPermission 来反射此非公共方法。
示例
以下示例显示 set 指定属性的 访问器。
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
注解
若要使用 GetSetMethod 方法,请首先获取 类 Type。 从 中 Type获取 PropertyInfo。 在 中 PropertyInfo,使用 GetSetMethod 方法。
适用于
GetSetMethod()
- Source:
- PropertyInfo.cs
- Source:
- PropertyInfo.cs
- Source:
- 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.MethodInfoabstract member GetSetMethod : unit -> System.Reflection.MethodInfo
override this.GetSetMethod : unit -> System.Reflection.MethodInfoPublic Function GetSetMethod () As MethodInfo返回
如果 MethodInfo 访问器是公共的,则为表示此属性的 Set 方法的 set 对象;如果 null 访问器是非公共的,则为 set。
实现
注解
这是一种方便的方法,它为参数设置为 false的nonPublic抽象GetSetMethod方法提供实现。
若要使用 GetSetMethod 方法,请首先获取 类 Type。 从 中 Type获取 PropertyInfo。 在 中 PropertyInfo,使用 GetSetMethod 方法。