A Sandcastle Documented Class Library
CreateInstanceFromAppSettings<(Of <(T>)>) Method (appSettingsKey, defaultType)
NamespacesTERASOLUNA.Fw.CommonClassUtilCreateInstanceFromAppSettings<(Of <(T>)>)(String, Type)
構成ファイルから、キーを指定して型名を取得し、リフレクションを用いて インスタンスを生成します。以下の場合、defaultType で指定 された Type のインスタンスを生成します。
Declaration Syntax
C#Visual BasicVisual C++
public static T CreateInstanceFromAppSettings<T>(
	string appSettingsKey,
	Type defaultType
) where T : class
Public Shared Function CreateInstanceFromAppSettings(Of T As Class) ( _
	appSettingsKey As String, _
	defaultType As Type _
) As T
public:
generic<typename T>
where T : ref class
static T CreateInstanceFromAppSettings(
	String^ appSettingsKey, 
	Type^ defaultType
)
Generic Template Parameters
T
生成したインスタンスを受ける型。
Parameters
appSettingsKey (String)
構成ファイルから型名を取得するために用いるキー文字列。
defaultType (Type)
構成ファイルから型名が取得できなかった場合、 利用される型。
Return Value
生成された T 型のインスタンス。
Exceptions
ExceptionCondition
ArgumentNullException
  • appSettingsKey が null 参照です。
  • defaultType が null 参照です。

ArgumentException 以下のような場合に例外をスローします。
  • appSettingsKey が空文字列です。
  • defaultType は抽象クラスです。
  • defaultType はジェネリック型のクラスですが、型パラメータが設定されていません。

ConfigurationErrorsException 構成ファイルが不正です。
TerasolunaException 以下のような場合に例外をスローします。
  • defaultType のデフォルトコンストラクタを呼び出すことができません。
  • defaultType のデフォルトコンストラクタが例外をスローしました。
  • defaultType のインスタンスが T にキャストすることができません。
  • appSettingsKey をキーとする構成ファイルのappSettings要素の、value属性値から 型を解決することができません。
  • appSettingsKey をキーとする構成ファイルのappSettings要素の、value属性値で 指定された型は抽象クラスなので、生成できません。
  • appSettingsKey をキーとする構成ファイルのappSettings要素の、value属性値のアセンブリ修飾名から生成した型が、ジェネリック型であるが型パラメータが未定義です。
  • appSettingsKey をキーとする構成ファイルのappSettings要素の、value属性値から 生成した型のデフォルトコンストラクタを呼び出すことができません。
  • appSettingsKey をキーとする構成ファイルのappSettings要素の、value属性値から 生成した型のデフォルトコンストラクタが例外をスローしました。
  • appSettingsKey をキーとする構成ファイルのappSettings要素から取得した 生成した型のインスタンスが T にキャストすることができません。

Assembly: TERASOLUNA.Fw.Common (Module: TERASOLUNA.Fw.Common) Version: 2.1.0.1 (2.1.0.1)