Export (0) Print
Expand All

PropertyInfo.GetSetMethod Method (Boolean)

When overridden in a derived class, returns the set accessor for this property.

Namespace:  System.Reflection
Assembly:  mscorlib (in mscorlib.dll)

Public MustOverride Function GetSetMethod ( _
	nonPublic As Boolean _
) As MethodInfo


Type: System.Boolean

Indicates whether the accessor should be returned if it is non-public. true if a non-public accessor is to be returned; otherwise, false.

Return Value

Type: System.Reflection.MethodInfo



A MethodInfo object representing the Set method for this property.

The set accessor is public.


nonPublic is true and the set accessor is non-public.


nonPublic is true, but the property is read-only.


nonPublic is false and the set accessor is non-public.


There is no set accessor.




The requested method is non-public and the caller does not have ReflectionPermission to reflect on this non-public method.

To use the GetSetMethod method, first get the class Type. From the Type, get the PropertyInfo. From the PropertyInfo, use the GetSetMethod method.

The following example displays the set accessor for the specified property.

Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic

' Define a property. 
Public Class Myproperty
    Private myCaption As String = "A Default caption" 

    Public Property Caption() As String 
            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

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8

© 2015 Microsoft