PropertyInfo.GetAccessors Method (Boolean)
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Returns an array whose elements reflect the public (and, if specified, non-public) get, set, and other accessors of the property reflected by the current instance.
Namespace: System.Reflection
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public MustOverride Function GetAccessors ( _
nonPublic As Boolean _
) As MethodInfo()
public abstract MethodInfo[] GetAccessors(
bool nonPublic
)
Parameters
- nonPublic
Type: System.Boolean
true to include non-public accessors; otherwise, false.
Return Value
Type: array<System.Reflection.MethodInfo[]
An array that contains the get, set, and other accessors of the property reflected by the current instance. If nonPublic is true, this array contains public and non-public accessors. If nonPublic is false, this array contains only public accessors. If no accessors with the specified visibility are found, this method returns an array with 0 (zero) elements.
Exceptions
Exception | Condition |
---|---|
MethodAccessException | Application code attempts to access this member late-bound, for example by using the Type.InvokeMember method. |
Remarks
To use the GetAccessors method, first get the class Type. From the Type, get the PropertyInfo. From the PropertyInfo, use the GetAccessors method.
Examples
The following example demonstrates both overloads of the GetAccessors method. The example defines a property with a public get accessor and a protected set accessor. That is, the property can be set only by derived classes. The example uses the GetAccessors() method overload to display the public accessors of the property, and the GetAccessors(Boolean) method overload to display all the accessors of the property.
Note: |
---|
To run this example, see Building Examples That Use a Demo Method and a TextBlock Control. |
Imports System.Reflection
Class Example
' Define a property that has a public get accessor and a protected set
' accessor. That is, the property can only be set by classes that
' derive from Example.
Private myCaption As String = "A Default caption"
Public Property Caption() As String
Get
Return myCaption
End Get
Protected Set(ByVal Value As String)
If myCaption <> Value Then
myCaption = Value
End If
End Set
End Property
Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
' Get the PropertyInfo.
Dim captionInfo As PropertyInfo = GetType(Example).GetProperty("Caption")
outputBlock.Text &= "Public accessors:" & vbLf
' List the public accessors.
For Each mi As MethodInfo In captionInfo.GetAccessors()
outputBlock.Text &= mi.ToString() & vbLf
Next
outputBlock.Text &= vbLf & "All accessors:" & vbLf
' List all accessors.
For Each mi As MethodInfo In captionInfo.GetAccessors(True)
outputBlock.Text &= mi.ToString() & vbLf
Next
End Sub
End Class
' This example produces the following output:
'
'Public accessors:
'System.String get_Caption()
'
'All accessors:
'System.String get_Caption()
'Void set_Caption(System.String)
using System.Reflection;
class Example
{
// Define a property that has a public get accessor and a protected set
// accessor. That is, the property can only be set by classes that
// derive from Example.
private string myCaption = "A Default caption";
public string Caption
{
get
{
return myCaption;
}
protected set
{
if (myCaption!=value)
{
myCaption = value;
}
}
}
public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
// Get the PropertyInfo.
PropertyInfo captionInfo = typeof(Example).GetProperty("Caption");
outputBlock.Text += "Public accessors:\n";
// List the public accessors.
foreach( MethodInfo mi in captionInfo.GetAccessors() )
{
outputBlock.Text += mi.ToString() + "\n";
}
outputBlock.Text += "\nAll accessors:\n";
// List all accessors.
foreach( MethodInfo mi in captionInfo.GetAccessors(true) )
{
outputBlock.Text += mi.ToString() + "\n";
}
}
}
/* This example produces the following output:
Public accessors:
System.String get_Caption()
All accessors:
System.String get_Caption()
Void set_Caption(System.String)
*/
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.