- - PR -
呼び出し元のクラスをロード?
«前のページへ
1|2|3|4
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-09-15 21:37
根本的なところを間違っていませんか? ここは「会議室」であって「質問部屋」でありません。 あなたの疑問を解決するための場所ではなく、あなたが提供してくださった情報に対して、お礼として情報を提供するところです。 自分の用事がするんだからといって、勝手に閉じないでください。
根本的なことを忘れていませんか? 「知らないものは使えない」のです。 c.dll をビルドしたときには、 a.exe のことを教えていないでしょう? だったら、a.exe の中のことを、どこかで使うことは出来ません。 使う前に教えてやらないと、使えないのです。 だから、a.exe からインスタンスを渡しても、c.dll では使えません。 抽象クラスの宣言は c.dll の中にあっても、 本当の宣言は a.exe の中にあるため、 c.dll では、抽象クラスで定義されているものしか使えません。 この辺がどれくらい理解できているのか、このスレッドの内容からはわかりません。 コンパイル時に解決されるべきところを実行時にまで引き延ばしているということを、理解していないのでしょう。 で、その認識のずれゆえに生じる説明であって、「論点ではないところ」ではありません。 むしろ、問題の根本的なところです。 | ||||||||
|
投稿日時: 2006-09-16 00:46
単にアセンブリとかきちんと指定しないで
CreateInstanceしようとしてるだけだと思う… ていうかインスタンス化しようとしてるところが どうなっているか書けば何がまずいかすぐ分かると思います。 あと、やたらLoadFrom使おうとしてるような感じですけど、 LoadFromは本当にパスでアセンブリを指定する必要がない限り、 使わなくていいと思うんですけどね。 | ||||||||
|
投稿日時: 2006-09-16 11:07
多分問題点はここでしょうね。 抽象クラスの設計が悪いのか、 そもそも抽象クラスを雛型として定義しているだけで c.dllの中から使用してさえいないのか スレ主さんはもう見ないだろうから真相は不明のままですが・・ (余談:クラス図とか書き込む良い方法ないですかね?) | ||||||||
|
投稿日時: 2006-09-16 11:45
本題とは関係ありませんが、「確か、何かあったなぁ」という事でメモ書き DICON # 一時、書くソース全てにこんな感じでクラス図書いてた事あったなぁ(汗) | ||||||||
|
投稿日時: 2006-09-17 21:05
おもしろい!! 特に、テキストファイルに出力できるってところが!! | ||||||||
|
投稿日時: 2006-09-18 23:09
抽象クラスの設計が悪いというか、 a.exe から c.dll を呼び出すのに、 a.exe の中に、プラグインされる機能(クラス)がある、という設計が、よくわからんです。 ということは、a.exe と書いているけど、実は a1.exe, a2.exe, a3.exe, ... なんじゃなかろうか、とか思ったり。 a.exe から bN.dll そして c.dll で、bN.dll の中に、実装されていたりいなかったり、というのは、ある程度わかるんだけど。 さらに考えると、クラス ライブラリを使用しやすいように、という設計方針が、そもそもの間違いじゃなかろうか? アプリケーションや、各プロジェクトの使い勝手を良くするためにクラス ライブラリを作るので、その作り手が、他の人の使い勝手を考えて作るんじゃなかろうか? ということは、クラス ライブラリがプラグインを読み込んで、a.exe や bN.dll は、c.dll で定義された抽象クラスだけにアクセスすればいいように、本当の定義を知らなくてもプラグイン機能を使えるように設計するのが、本筋なんじゃなかろうか? ↑ やっとおかしいと思っていたところが見えた [ メッセージ編集済み 編集者: Jitta 編集日時 2006-09-18 23:10 ] |
«前のページへ
1|2|3|4