PropertyInfo.GetSetMethod Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
MethodInfo
set Возвращает объект доступа для этого свойства.
Перегрузки
| Имя | Описание |
|---|---|
| GetSetMethod(Boolean) |
При переопределении в производном классе возвращает |
| GetSetMethod() |
Возвращает общедоступный |
GetSetMethod(Boolean)
- Исходный код:
- PropertyInfo.cs
- Исходный код:
- PropertyInfo.cs
- Исходный код:
- PropertyInfo.cs
- Исходный код:
- PropertyInfo.cs
- Исходный код:
- 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.MethodInfo
Public MustOverride Function GetSetMethod (nonPublic As Boolean) As MethodInfo
Параметры
- nonPublic
- Boolean
Указывает, следует ли возвращать метод доступа, если он недоступен.
true Значение , если недоступная функция доступа должна быть возвращена; falseв противном случае .
Возвращаемое значение
Метод этого свойства Set или null, как показано в следующей таблице.
| Ценность | Состояние |
|---|---|
Set Метод для этого свойства.
| Метод set доступа является общедоступным, or nonPublic is true , и set метод доступа не является общедоступным.
|
null |
nonPublicis true, но свойство доступно только для чтения, ИЛИ является nonPublic и false метод доступа не является общедоступным, ИЛИ set отсутствует set метод доступа.
|
Реализации
Исключения
Запрошенный метод не является открытым, и вызывающий объект не должен ReflectionPermission отражать этот недоступный метод.
Примеры
В следующем примере показан set метод доступа для указанного свойства.
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()
- Исходный код:
- PropertyInfo.cs
- Исходный код:
- PropertyInfo.cs
- Исходный код:
- PropertyInfo.cs
- Исходный код:
- PropertyInfo.cs
- Исходный код:
- 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.MethodInfo
abstract member GetSetMethod : unit -> System.Reflection.MethodInfo
override this.GetSetMethod : unit -> System.Reflection.MethodInfo
Public Function GetSetMethod () As MethodInfo
Возвращаемое значение
Объект MethodInfo , Set представляющий метод для этого свойства, если set метод доступа является общедоступным, или null если set метод доступа не является общедоступным.
Реализации
Комментарии
Это удобный метод, который предоставляет реализацию абстрактного GetSetMethod метода с заданным параметром nonPublicfalse.
Чтобы использовать метод GetSetMethod, сначала получите класс Type. Из Typeполучите PropertyInfo. В PropertyInfoиспользуйте метод GetSetMethod.