私はまだASP.NETの世界に慣れていないので、ここではベースから離れている可能性がありますが、これまでのところ、これは私の(限られた)知識の範囲内です!
Business名前空間に標準のビジネスオブジェクト「Contact」があるとします。データベースから連絡先の情報を取得して返すWebサービスを作成します。次に、クライアントアプリケーションを作成して、上記の詳細を要求します。
次に、「連絡先」を取得して、たとえば、それを使って魔法をかけるユーティリティメソッドも作成しますUtils.BuyContactNewHat()
。もちろん、これはタイプの連絡先を取りますBusiness.Contact
。
次に、クライアントアプリケーションに戻り、メソッドを利用したいので、 Utils名前空間BuyContactNewHat
への参照を追加します。ただし、次の問題が発生します。
Contact c = MyWebService.GetContact("Rob);
Utils.BuyContactNewHat(c); // << Error Here
のリターンタイプGetContact
はのでMyWebService.Contact
あり、期待どおりではないBusiness.Contact
ため。これは、Webサービスにアクセスするときに、WSDLによって生成されたプロキシクラスに対して実際にプログラミングしているためです。
それで、このタイプのミスマッチに対処するための「より簡単な」方法はありますか?おそらく、リフレクションを使用して、値を一方から他方に単純に転送するのではなく、2つのオブジェクトが同じ構造を持つようにする汎用コンバータークラスを作成しようと考えていました。