2011-12-05 14 views
7

consideri creiamo una classe parziale in Project1 e abbiamo un Project2 che ha riferimento al Project1 .Come è possibile dichiarare un altro metodo di parziale classe in Progetto2?E 'possibile dichiarare una classe parziale in due progetti

grazie

+0

Vuoi creare la classe parziale in Project2 con lo stesso nome che hai dato per la classe parziale in Project1? –

+0

Perché hai bisogno di una cosa del genere? –

+0

possibile duplicato di http://stackoverflow.com/questions/309939/should-you-use-a-partial-class-across-projects –

risposta

13

Il costrutto parziale è solo una funzionalità del compilatore, per consentire a una classe di essere distribuita in diversi file di origine. La classe compilata vive ancora in una sola e unica libreria di classi (file dll).

Ci sono due modi per estendere una classe in un'altra libreria:

  • Inheritance, a meno che la classe è sealed. Ciò richiede che il codice chiamante gestisca tutte le istanze degli oggetti per creare un'istanza della nuova classe derivata.
  • I metodi di estensione, che rendono il codice simile a ci sono nuovi metodi su quella classe, ma questo è solo zucchero sintattico. Non cambierà la classe stessa.
3

È possibile utilizzare la Extension methods che consentono di creare metodi aggiuntivi per classe esistente

10

Non è possibile estendere una classe parziale in un altro progetto. Parziale è solo lo zucchero del compilatore. Il compilatore creerà solo una classe nell'assieme risultante.

1

Le classi parziali non possono esistere oltre i limiti dell'assieme laterale!

Problemi correlati