7

win 8(WinRT)アプリで現在のメソッド名を取得する方法...以前のwp7では使用できSystem.Reflection.MethodBase.GetCurrentMethod().Nameましたが、もうありません

4

2 に答える 2

6

はい、.NETCore にはそのようなものがたくさんありません...そして、私を始めさせないでくださいGetTypeInfo()! しかし、おそらく実用的な回避策は、コンパイラにそれを実行させることでしょうか?

string CallerName([CallerMemberName]string caller = "")
{
    return caller;
}
...
string name = CallerName();
于 2012-08-22T07:44:28.687 に答える
1

このオプションは、メソッドをオーバーライドする必要がある場合に役立ちます

private string GetMethodName(Expression<Action> expression)
{
    var methodName = (expression.Body as MethodCallExpression).Method.Name;
    return methodName;
}

次に、それを次のように呼びます

GetMethodName(() => TheNameOfTheCallingMethod());
于 2012-10-25T10:30:28.770 に答える