PropertyInfo.GetSetMethod メソッド

定義

このプロパティの MethodInfo アクセサーを表す set を返します。Returns a MethodInfo representing the set accessor for this property.

オーバーロード

GetSetMethod(Boolean)

派生クラス内でオーバーライドされた場合に、このプロパティの set アクセサーを返します。When overridden in a derived class, returns the set accessor for this property.

GetSetMethod()

このプロパティのパブリックな set アクセサーを返します。Returns the public set accessor for this property.

GetSetMethod(Boolean)

派生クラス内でオーバーライドされた場合に、このプロパティの set アクセサーを返します。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

パラメーター

nonPublic
Boolean

パブリックでないアクセサーの場合に、アクセサーを返すかどうかを示します。Indicates whether the accessor should be returned if it is non-public. パブリックでないアクセサーが返される場合は true。それ以外の場合は falsetrue if a non-public accessor is to be returned; otherwise, false.

戻り値

次の表に示すように、このプロパティの Set メソッド、または nullThis property's Set method, or null, as shown in the following table.

[値]Value 条件Condition
このプロパティの Set メソッド。The Set method for this property. set アクセサーがパブリック。The set accessor is public. - または --or- nonPublictrue で、set アクセサーが非パブリック。nonPublic is true and the set accessor is non-public.
nullnonPublictrue で、プロパティが読み取り専用。nonPublic is true, but the property is read-only. - または --or- nonPublicfalse で、set アクセサーが非パブリック。nonPublic is false and the set accessor is non-public. - または --or- set アクセサーがない。There is no set accessor.

実装

例外

要求されたメソッドはパブリックではないメソッドのため、呼び出し元にはこのパブリックでないメソッドに反映する ReflectionPermission がありません。The requested method is non-public and the caller does not have ReflectionPermission to reflect on this non-public method.

次の例ではset 、指定されたプロパティのアクセサーを表示します。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

注釈

GetSetMethodメソッドを使用するには、まずクラスTypeを取得します。To use the GetSetMethod method, first get the class Type. から、 PropertyInfoを取得します。 TypeFrom the Type, get the PropertyInfo. から、 GetSetMethodメソッドを使用します。 PropertyInfoFrom the PropertyInfo, use the GetSetMethod method.

セキュリティ

ReflectionPermission
などの機構を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[]). MemberAccess (関連する列挙体)Associated enumeration: MemberAccess.

GetSetMethod()

このプロパティのパブリックな set アクセサーを返します。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

戻り値

MethodInfo アクセサーがパブリックな場合は、このプロパティの Set メソッドを表す set オブジェクト。null アクセサーがパブリックではない場合は setThe MethodInfo object representing the Set method for this property if the set accessor is public, or null if the set accessor is not public.

実装

注釈

これは、 GetSetMethod nonPublicパラメーターをにfalse設定して抽象メソッドの実装を提供する便利なメソッドです。This is a convenience method that provides an implementation for the abstract GetSetMethod method with the nonPublic parameter set to false.

GetSetMethodメソッドを使用するには、まずクラスTypeを取得します。To use the GetSetMethod method, first get the class Type. から、 PropertyInfoを取得します。 TypeFrom the Type, get the PropertyInfo. から、 GetSetMethodメソッドを使用します。 PropertyInfoFrom the PropertyInfo, use the GetSetMethod method.

セキュリティ

ReflectionPermission
などの機構を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[]). MemberAccess (関連する列挙体)Associated enumeration: MemberAccess.

適用対象