2011-08-05 23 views
14

Attualmente sto imparando C# con il libro chiamato Beginning Visual C# 2010 e sono nel capitolo che tratta diversi aspetti e caratteristiche di metodi e classi parziali.Perché i metodi parziali devono essere annullati?

Per citare il libro:

Si consideri a questo punto perché i metodi parziali non possono avere un tipo di ritorno. Se si può rispondere che al vostro propria soddisfazione, si può essere sicuri di aver compreso pienamente questa discussione - in modo tale che viene lasciato come un esercizio per te "

Questo è dove mi si blocca L'unica ragione.. quello che posso pensare è che quando il valore di ritorno del metodo è assegnato a qualcosa nel codice, genererebbe un errore se non è stata implementata una definizione per il metodo parziale

Qualcuno può chiarire questo argomento per me?

+2

Sì, siete sulla strada giusta, è per questo che :) –

+0

È questo un duplicato, http://stackoverflow.com/q/2088265/659190 – Jodrell

+0

@Jodrell No, mentre questa domanda può essere inserita nell'altra, l'altra è decisamente più ampia (E questa è la prima versione di questa specifica domanda che posso vedere) –

risposta

18

Poiché le chiamate a loro non possono essere eliminate dal codice chiamante nel caso in cui non siano implementate ted senza romperlo.

Esempio:

partial void foo(); 
partial int bar(); 

Prefisso telefonico internazionale:

... 
foo(); // successfully removed if foo isn't implemented 
int x = bar() * 2; // what to do here? 
Console.WriteLine(x); 
+2

Lo stesso vale per i metodi decorati con 'ConditionalAttribute'. – leppie

+0

Grazie, sembra che fossi più o meno giusto anche da solo. – Gasoline

+0

@Jodrell, non influenzano la valutazione l'uno dell'altro, sono entrambi esaminati dal punto di un altro codice chiamante. – Grozz

Problemi correlati