Web Site Project
で定義された型のインスタンスを作成しようとしています。タイプ名は構成可能であるため、既知であるが、ウェブサイトプロジェクトはASP .Netによってコンパイルされるので、アセンブリ名のために構成瞬間に名前を伝えることは不可能である。他のライブラリからWebサイトプロジェクト(App_Code)で定義された型のインスタンスを作成する方法
var typeName = ConfigurationManager.AppSettings["typeName"];
var assemblyName = '.. get the assembly name ..';
var instance = Activator.CreateInstance(assemblyName, typeName);
return (IUserCredentials)instance.Unwrap();
はこのCreateInstance
オーバーロードを使用するための簡単な方法ですか私はすべてのロードタイプを検索し、名前でそれを見つけるもの?
このコードは、Webサイトプロジェクトで参照されている別のライブラリで使用されています。
これはうまくいきますが、理由を説明する気になる人はいますか? –
@ TimBooker、それは単にコンパイラが割り当てた名前で、黒い魔法はありません。 –