2012-05-01 5 views
1

で私たちは、呼び出しに応答のようなものを行うために私たち自身の中に通信会社のソフトウェアを統合通話を転送する、クライアントとの数字に一致しているなどデメリットC#

APIドキュメント(TLBファイルを含む) tlbimpツールを使用して、実装で使用したいアセンブリを作成しました。

tlbimpによって作成されたクラスの中には内部コンストラクタが与えられており、それらをインスタンス化できないものにしています。私はそれが別のクラスは、これらのクラスのインスタンスを返す必要がありますので、このインスタンスで大丈夫だと思う。

これは私には思えました.tlbimp.exeとTLB全体を使用する際に気をつけなければならない他の落とし穴がありますか?手でDllImport/ComImport/PInvokeコードを作成する方が良いでしょうか?

答えて

2

一般にTLBをお持ちの場合は、少なくともtlbimpによって生成されたアセンブリを消費して作業を開始します。

ツール自体は広く使用されており、TLBに定義されている定義に基づいて正しいコードを生成します。結果のコードが間違っている状況がいくつか見受けられましたが、TLBの作成者が間違ったCOMアノテーションを追加した場所や、配列を使用した非常に複雑なマーシャリングの状況にほとんどいつでも戻ってきました。

道路に問題が見つかった場合は、修正プログラムの手続きを開始することを検討する必要があります。しかし、私は確かにその方法を開始しません。

2

タイプライブラリで宣言されている種類のCOMインターフェイスメソッドをピンボケできません。 COMサーバーを実装するDLLはメソッドをエクスポートしません。リフレクション付きの遅延バインディングや、動的キーワードを使用することはできますが、それは厄介でエラーが発生しやすくなります。インポートライブラリを使用してください。その理由があります。

関連する問題