-2

最近、C# でジェネリック型のメソッドを呼び出すことについて質問しました: C# のテンプレートでメソッドを呼び出す

私が抱えている問題は、ジェネリック関数を作成したい型を操作できないことです。タイプは、同じメソッドを持ついくつかの WebServices の SoapClients です。コードをコピーしないようにする解決策はありますか?

4

1 に答える 1

1

私があなたを正しく理解しているなら、あなたはあなたが変えることができないいくつかのタイプを持っています、それらはどんなインターフェースも共有しませんが、いくつかの共通の方法を持っています。そして、任意のタイプに対してこの共通のメソッドを呼び出す単一のメソッドを記述したいとします。

これを行うには、2つのオプションがあると思います。

  1. 共通のインターフェースを実装する各クラスのラッパーを作成します。次に、そのインターフェイスをメソッドで使用し、引数としてラッパーを指定します。
  2. dynamicメソッドを呼び出すために使用します。を使用するdynamicと、インターフェイスを実装する必要はありませんが、コンパイル時の型チェック(およびオートコンプリート)がすべて失われることも意味します。
于 2013-01-06T16:19:34.367 に答える