2009-06-26 16 views
9

Esiste un sovraccarico che utilizza classi parziali in caso di memoria, prestazioni, ecc.?Utilizzo di classi parziali

Se creiamo una classe parziale, è possibile che identifichi se la classe è parziale o non utilizza il riflettore ??

risposta

16

No. Sono compilati allo stesso IL come se non fossero parziali. È una cosa di compilazione, semplicemente - il CLR non sa nemmeno che siano mai stati parziali.

Si noti che con partial methods introdotto in C# 3, il metodo non viene nemmeno emesso nell'IL a meno che non sia implementato in uno dei file. Sia le chiamate che la dichiarazione vengono rimosse dal compilatore.

E 'possibile che che sarà rallentare il compilatore una frazione impercettibile, di un millesimo di secondo, ovviamente :)

+0

Se creiamo una classe parziale possiamo identificare se la classe è parziale o non utilizza il riflettore ?? – rahul

+2

Parziale è molto simile agli spazi, solo con un EOF coinvolto. Il compilatore lo analizza, ma dopo non c'è traccia che sia mai esistito. –

+1

@Phoenix: No. L'unica volta che l'hai trovato potrebbe essere se avessi i simboli di debug da analizzare e hai scoperto che parte del codice proveniva da un file e altri da un altro. –

3

No, tutti i file di classe verranno consolidati in fase di compilazione.

Ecco lo msdn article sui tipi parziali.

Ogni file di origine contiene una sezione del tipo o della definizione del metodo e tutte le parti sono combinate quando l'applicazione è compilata.

2

No. Loro sono compilati in una sola classe. È puramente una funzionalità linguistica.

Problemi correlati