In VB.NET versuche ich, mit einem Webservice (der nicht geändert werden kann) zu sprechen, um Kundendaten zu erstellen und zu aktualisieren. Der CreateCustomer-Dienst erwartet ein Objekt vom Typ ConsumerPerson, und der ChangeCustomer-Dienst erwartet ein Objekt vom Typ ChangeData.Wie behandle ich zwei ähnliche Typen als einen?
Die Eigenschaften dieser beiden Objekte sind genau gleich, also dachte ich, es wäre klug, die Eigenschaften nur mit einer einzigen Funktion zu setzen.
Ich bin jedoch nicht in der Lage, eine Möglichkeit zu finden, meiner Funktion mitzuteilen, dass ich entweder das ConsumerPerson- oder das ChangeCustomer-Objekt füllen möchte.
Wie kann ich das ohne späte Bindung Probleme machen?
Klingt gut, in der Theorie. Aber wenn ich mir den Code ansehe, merke ich, dass ich ein kleines entscheidendes Detail weggelassen habe: Ich kann auch die ConsumerPerson- oder ChangeData-Klassen nicht ändern. – sebastiaan
@sebastiaan, wenn Sie svcutil.exe verwenden, um Ihre Proxy-Klassen zu generieren, wird es beide Typen partiell machen, was bedeutet, dass Sie die gleiche Schnittstelle implementieren können. –
@darin völlig richtig, das habe ich verpasst! Vielen Dank! – sebastiaan