3

是否可以使用 newnameof运算符获取 setter 方法名称?

public object Foo { get; set; }

public void Test()
{        
    var myMethod = GetType().GetMethod("set_Foo");       
}

我想 GetType().GetMethod("set_" + nameof(Foo))可以工作,但有什么更简单的吗?

4

2 回答 2

5

您不能使用nameof直接获取 setter 方法名称。

您可以将其与反射结合使用以获取属性并用于PropertyInfo.SetMethod获取设置器:

MethodInfo setterMethod = GetType().GetProperty(nameof(Foo)).SetMethod;
string setterName = setterMethod.Name;
于 2015-11-16T13:14:26.463 回答
-1

就像是 -

var type = typeof(Test).GetProperties().FirstOrDefault().GetAccessors(false);

类型Testtypea的在哪里。property S3string

于 2015-11-16T13:14:19.173 回答