実行時にコードで型指定されたデータセットのインスタンスを動的に作成しようとしています。私は利用可能なタイプを持っていますが、これをしようとすると:
object obj = Activator.CreateInstance(Type.GetType("TYPED DATASET TYPE HERE"));
問題は、コードを実行しようとすると、型が有効ではないように見えることです。ここで何が間違っているのでしょうか?
実行時にコードで型指定されたデータセットのインスタンスを動的に作成しようとしています。私は利用可能なタイプを持っていますが、これをしようとすると:
object obj = Activator.CreateInstance(Type.GetType("TYPED DATASET TYPE HERE"));
問題は、コードを実行しようとすると、型が有効ではないように見えることです。ここで何が間違っているのでしょうか?
タイプはどこで定義されていますか? (どのアセンブリ)。
アセンブリ修飾名を指定しない限り、呼び出し元のアセンブリとその他のいくつかの主要なアセンブリのみが検索されます。オプション:
Assembly
(そのアセンブリの既知の型から) インスタンスを取得し、インスタンスで使用GetType(fullyQualifiedName)
しますAssembly
正しいデータセット コードを発行していると仮定すると、アセンブリの読み込みも必要になる場合があります。
次の .net 名前空間の Reflection.emit と Reflection を調べてください。
また、リフレクションを使用して新しいクラスを発行し、インターセプターを作成するウィンザーなどのオープン ソース プロジェクトを見ることもできます。そこから学ぶことができるコードがそこにあるかもしれません。