質問: クラス名を取得し、それをC#の文字列に変換する方法はありますか? Entity Frameworkの一部として、.Includeメソッドは、クエリの実行時に結合する文字列のドット区切りリストを受け取ります。参加したいもののクラスモデルがあり、リファクタリングと将来のコードメンテナンスのために、このクラスを参照するときにコンパイル時の安全性を確保できるようにしたいです。 したがって、私がこれを行うことができる方法があります: ``` class Foo { } tblBar.Include ( Foo.GetType().ToString() ); ``` インスタンスなしでGetType()を実行できるとは思わない。何か案は?
回答: Includeにはクラス名ではなくプロパティ名が必要です。したがって、それはあなたが望むプロパティの名前であり、そのタイプの名前ではありません。 あなたは反射でそれを得ることができます 。