このようなことは可能ですか?
クラスを作成し、それをアセンブリに入れます。
namespace some { public class foo{ ..etc }
現在のアプリドメインにロードします
Assembly.LoadFrom("some.foo.dll");
タイプを取り出す
Type t = Type.GetType("some.foo");
基本的に、実際の型を t に取得する方法はありますか?
このようなことは可能ですか?
クラスを作成し、それをアセンブリに入れます。
namespace some
{
public class foo{
..etc
}
現在のアプリドメインにロードします
Assembly.LoadFrom("some.foo.dll");
タイプを取り出す
Type t = Type.GetType("some.foo");
基本的に、実際の型を t に取得する方法はありますか?
質問を理解しているかどうかわかりません。タイプをインスタンス化したいと思います。
これは、パブリックのデフォルト コンストラクターを呼び出します。
// specify the full name and assembly name, to make sure that you get the some.foo
// from the assembly in question.
Type t = Type.GetType("some.foo, some.foo");
object instance = Activator.CreateInstance(t);
オーバーロードを見て、他のコンストラクターを呼び出します。
リフレクションを使用してオブジェクトをインスタンス化できます。たとえば、デフォルトのコンストラクタを使用してインスタンス化するには:
Type.GetType("Foo").GetConstructor().Invoke();
文字列を受け取るコンストラクターを使用してインスタンス化するには、次を使用します。
Type.GetType("Foo").GetConstructor(new[] { typeof(string) }).Invoke(new [] { "bar" });
var assembly = Assembly.LoadFrom("SomeAssembly.dll");
assembly.GetType("SomeType");