13
プロパティの名前を文字列として取得します
(私が受け入れた答えを使用して作成した以下のソリューションを参照してください) リフレクションを含むいくつかのコードの保守性を改善しようとしています。アプリには、公開されたリモートインターフェイスに含まれていないアプリの部分にアクセスするためのExecuteというメソッドを公開する.NET Remotingインターフェイスがあります。 ここでは、アプリケーションが実行を介してアクセスできるようになっているプロパティ(この例では静的プロパティ)を指定する方法を示します。 RemoteMgr.ExposeProperty("SomeSecret", typeof(SomeClass), "SomeProperty"); したがって、リモートユーザーは次のように呼び出すことができます。 string response = remoteObject.Execute("SomeSecret"); アプリはリフレクションを使用してSomeClass.SomePropertyを検索し、その値を文字列として返します。 残念ながら、誰かがSomePropertyの名前を変更して、ExposeProperty()の3番目のパラメーターを変更するのを忘れると、このメカニズムが壊れます。 私は同等のものを必要としています: SomeClass.SomeProperty.GetTheNameOfThisPropertyAsAString() ExposePropertyの3番目のパラメーターとして使用するため、リファクタリングツールが名前の変更を処理します。 これを行う方法はありますか?前もって感謝します。 さて、これが私が作成したものです(私が選択した答えと彼が参照した質問に基づいて): // <summary> // Get the name of a static or instance property from a property access lambda. // </summary> // <typeparam name="T">Type of the property</typeparam> // <param name="propertyLambda">lambda expression of the …
203
c#
reflection
properties