プロパティ名を表現するためにマジックストリングを使用する必要があるC#コードを頻繁に記述します。誰もがマジックストリングの問題を知っています。それらはリファクタリングが非常に難しく、コンパイル時のチェックがなく、多くの場合、診断が難しい問題につながります。それでも、C#/。NETは、プロパティ/クラス/メソッド名を表すために、あらゆる場所でそれらを使用します。
この問題は何年にもわたって続いており、現在実行可能な唯一の解決策は、実行時にプロパティ名を解析する式ツリーを使用することです。これにより、コンパイル時のチェックを十分に行うことができますが、コードが複雑になり(Expression型のパラメーターが必要)、実行時のコストが発生します。
この広範な問題を克服するためにコンパイル時の反映を追加するためにC#/。NETの機能に関する考慮事項があったかどうかを誰かが知っていますか?
簡単に追加できるようで、重大な変更ではなく、多くの開発者に大きなメリットがあります。typeof()演算子は、コンパイル時のリフレクションの形式をすでに実行しているため、演算子nameof()(または同様のもの)は非常に補完的であるように思われます。
さらに、そのような機能の潜在的な問題を知っている人はいますか?
助けてくれてありがとう。