[C#] Copiare da una classe all'altra

giovedì 04 settembre 2008 - 16.53

liveforever81 Profilo | Junior Member

Salve a tutti!

Ho un'API (il cui sorgente è a me oscuro) che ha delle proprietà e dei metodi.

Grazie ai vostri consigli ho wrappato tale classe, riducendo proprietà e metodi...lasciando solo la logica di quelli che mi servivano per l'implementazione.

Dovrei ora fare una cosa del genere:

un particolare metodo (chiamiamolo Open()) richiede che gli venga passato un oggeto della classe API originaria.
Poichè io creo e popolo l'oggetto della mia classe wrappata, come fare per "copiare" l'oggetto della mia classe in quello dell'API in modo da passarlo al metodo Open()?

E cosa succede ai metodi esistenti nell'API che però io non dichiaro neppure?

Spero d'esser stato chiaro...

liveforever81 Profilo | Junior Member

Forse non mi sono spiegato...
provo ad essere più chiaro:

Facciamo un esempio:

Ecco la mia API:

class API { costruttore; proprietà1; proprietà2; MetodoAPI1; MetodoAPI2; MetodoAPI3; }

Wrappo questa classe in modo da potermi gestire a modo mio tale classe:

classe Wrapper { costruttore; proprietàw1; MetodoWrap1; // fa le stesse cose del MetodoAPI1; MetodoWrap2; // fal le stesse cose del MetodoAPI2; }

Nella mia elaborazione uso, ovviamente, la mia classe...istanzio i miei metodi, uso le mie proprietà.
Arrivato ad un bel momento, però, devo usare un metodo (ad esempio Open()) di cui io non conosco il sorgente (fa parte dello stesso insieme di classi di class API) che accetta in ingresso un'istanza della classe API.
Dovrei quindi prendere il mio oggetto Wrapper e "copiarlo" in API in modo da passarlo ad Open() (che non accetterebbe un oggetto di Wrapper, ma solo di API).

Ora è più chiaro? (speriamoDiSi-speriamoDiSi-speriamoDiSi-speriamoDiSi-)

Grazie mille!

aiedail92 Profilo | Expert

Ciao

La classe che devi wrappare in che linguaggio è scritta? È codice gestito o non gestito?

Luca

liveforever81 Profilo | Junior Member

Grazie...sono riuscito cmq a risolvere!

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5