私はappsettings.jsonファイルから設定オブジェクトの一部としてSystem.Type
をインポートしようとしています。細かい物の輸入の残りの部分が、私は私の設定にSystem.Type
プロパティを追加するとき、私は次の例外を取得オブジェクト:「System.InvalidOperationExceptionが」.netコアアプリケーションのappsettings.jsonファイルからSystem.Typeをインポートすることはできますか?
にタイプの例外がMicrosoft.Extensions.Configuration.Binderで発生しました。 dllがユーザーコードで処理されませんでした
追加情報: 'MyType'を 'System.Type'に変換できませんでした。
マイappsettings.jsonは次のようになります
public class Settings
{
public string Url {get; set;}
public Type Type {get; set;}
}
マイStartup.csが設定をバインドするために、これを使用して含まれています:
var foo = Configuration.GetSection("Settings").Get<Settings>(); // This is where the exception occurs.
マイセッティングオブジェクトがどのように見える
"Settings": {
"Url": "some url",
"Type: "MyType"
}
構成バインダーは明らかに読み取り中ですMyType
を文字列として使用し、System.Type
に変換する方法がわかりません。バインダーレベルでこれを行うことは可能ですか?それが使用されている時点でその文字列をSystem.Type
にするために何らかのリフレクションを行う必要がありますか?
あなたが使用しようとしているコードを教えてください。 –
@RobertColumbiaが追加されました。 – Necoras
私はSystem.Typeでこれを行うことはできないと思います。タイプの代わりに別のオブジェクト(クラス)を使用することができます。 – Mehmet