2017-05-24 19 views
2

.NET Coreのクラスの現在のプロパティの名前にアクセスできる必要があります。.NET Core 1.1で現在のプロパティの名前を取得する方法

完全な.NET Frameworkでは、以下のようにリフレクションを使用できます。

System.Reflection.MethodBase.GetCurrentMethod().Name; 

(宿泊施設が本当にフードの下だけの方法であることを思い出してください。)

しかし、それはこの機能は、.NETのコア1.1で提供されて表示されません - それは(5月/だろうが)は、.NET Standard 2.0で利用できます。

このGitHubの問題(https://github.com/dotnet/corefx/issues/12496)には、GetMethodInfoOfを使用してプロパティ名にアクセスするための参照があります。しかし、私はこのメソッドの例を見つけることができず、可能な例を指し示すGitHubリンクが壊れているようです。

現在のプロパティの名前を取得するために使用できる他の戦略や手法はありますか?

多くの感謝!

+4

nameof(MyProperty)はどうですか? – mm8

答えて

6

おそらく私はここで問題を誤解しているかもしれませんが、単にnameofオペレータを使用するとどうなりますか?

var propName = nameof(MyProperty); 
+0

このアプローチの課題は、nameOf関数にプロパティを含める必要があるということです。私はどのようにプロパティ自体の中から現在のプロパティのハンドルを取得するか分からない。 –

+0

ちょうど@ mm8の方法は: 'nameof(MyProperty)'です。あなたはプロパティ上のハンドルを取得する必要はありませんが、これはコンパイル時の言語レベルのものです。 –

関連する問題