簡體   English   中英

使用nameof在c#中獲取setter方法名稱

[英]Using nameof to get a setter method name in c#

是否可以使用新的nameof運算符獲取setter方法名稱?

public object Foo { get; set; }

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

我猜GetType().GetMethod("set_" + nameof(Foo))可以工作,但還有更直接的東西嗎?

您不能使用nameof直接獲取setter方法名稱。

您可以將它與反射結合以獲取屬性並使用PropertyInfo.SetMethod來獲取setter:

MethodInfo setterMethod = GetType().GetProperty(nameof(Foo)).SetMethod;
string setterName = setterMethod.Name;

就像是 -

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

其中Test是具有typestringproperty S3的類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM