2014-04-25 22 views
6

Stavo leggendo su partial methods poiché diventeranno molto più importanti in C# -6/Visual Studio 2013 aggiornamento 2 in combinazione con Windows Universal Projects. Leggendo la documentazione leggo questa strana limitazione sulla firma dei metodi parziali:Perché i metodi parziali supportano ref ma non i parametri

I metodi parziali possono avere parametri di rif non ma non.

Non capisco il motivo di questa limitazione. Poiché i metodi parziali sono fondamentalmente un metodo normale con la firma e l'implementazione in file diversi, quale motivo tecnico ci sarebbe di non supportare i parametri? O qualsiasi altra ragione per questa limitazione per quella materia. Soprattutto perché supportano i parametri ref che sono very similar.

risposta

8

Se un metodo parziale viene dichiarato ma non implementato, non viene chiamato.

Ciò significa che non viene assegnato alcun parametro out, il che non è consentito.

Questo non è un problema con i parametri ref, in quanto devono essere assegnati prima che vengano passati al metodo, quindi sono assegnati sicuramente anche se il metodo non viene chiamato.

+0

Non sapevo che tutte le chiamate ai metodi parziali sono state rimosse. Questo è piuttosto spaventoso in realtà. Grazie per le informazioni! –

0

ha un senso, se si guarda a dettagli per essere curato in sede di attuazione metodi parziali: implementazione

metodi parziali è opzionale.

Una variabile di uscita non viene mai assegnata a un valore mentre a una variabile di riferimento viene sempre assegnato un valore. Si consideri, nel caso in cui il metodo parziale non è implementato, avremmo una variabile che non è assegnata. Nessun problema si verificherebbe per una variabile ref poiché ha un valore assegnato.

A causa di ciò, le variabili out non sono supportate poiché una variabile out indica che il valore viene restituito.

Problemi correlati