是否可以使用新的nameof
运算符获取setter方法名称?
public object Foo { get; set; }
public void Test()
{
var myMethod = GetType().GetMethod("set_Foo");
}
我猜GetType().GetMethod("set_" + nameof(Foo))
可以运作,但是有更直接的东西吗?
答案 0 :(得分:5)
您无法使用nameof
直接获取setter方法名称。
您可以将它与反射相结合以获取属性并使用PropertyInfo.SetMethod
来获取setter:
MethodInfo setterMethod = GetType().GetProperty(nameof(Foo)).SetMethod;
string setterName = setterMethod.Name;
答案 1 :(得分:-1)
像 -
var type = typeof(Test).GetProperties().FirstOrDefault().GetAccessors(false);
其中Test
是type
,property
S3
类型为string
。