Perché avete bisogno di metodi parziali in C #? Gli eventi possono essere utilizzati per raggiungere lo stesso obiettivo?

StackOverflow https://stackoverflow.com/questions/3628804

  •  26-09-2019
  •  | 
  •  

Domanda

stavo leggendo il libro "Apress Pro LINQ: Linq in C #" e mi sono imbattuto in metodi parziali, ma io davvero non capisco che cosa è la necessità per loro

.

Credo che gli esempi del libro (proprietà prima e dopo il cambio) possono essere implementate utilizzando gli eventi. Quindi, qualsiasi spiegazione?

È stato utile?

Soluzione

Sì, è possibile ottenere un effetto simile con gli eventi come si può con metodi parziali. metodi parziali sono in realtà solo un modo di lasciare generatori di codice, in primo luogo, i progettisti per generare ganci per il codice non generato. Eventi potrebbero ricoprire questo ruolo.

Tuttavia ci sono vantaggi a metodi parziali sugli eventi in particolare

  • chiamate di metodo parziali vengono completamente rimossi dal IL generato se non c'è alcuna implementazione. Questo non può essere fatto con gli eventi.
  • La progettazione di metodi parziali è quello di risolvere il problema in cui v'è 1 fornitore del gancio e 1 utenza. Gli eventi sono pensati per modellare 1 provider con N i consumatori e hanno la testa che viene fornito con un tale disegno
  • Non v'è alcun problema di ordinamento (chi inizia per primo). Con gli eventi è necessario garantire il codice che sottoscrive le corse degli eventi prima che il codice generato progettista che genera l'evento. Questo non è sempre possibile se dire la progettazione genera un costruttore. metodi parziali non hanno tale problema.

Altri suggerimenti

Non sono "necessari", ma desiderava per applicazioni su larga scala. L'ampio utilizzo di eventi porta allo Smart UI anti-modello in cui la logica di business è strettamente accoppiata con l'interfaccia utente, mentre le funzioni parziali consentono di separare meglio le vostre preoccupazioni.

Questo è il link alla guida # programmazione MSDN C su metodi parziali pure. http://msdn.microsoft.com/en-us/library/wa80x488. aspx

Il compilatore rimuovere chiamate ai metodi parziali se non ci sono implementazioni. Con l'alternativa di eventi, gli ascoltatori dovrebbero essere controllati in fase di esecuzione (che avrebbero anche bisogno di essere memorizzati, ecc). In questo modo i metodi parziali di essere più performante, soprattutto quando ci sono molti potenziali "eventi" e solo pochi hanno "ascoltatori" registrati.

metodi parziali sono definiti al momento della compilazione, eventi in fase di esecuzione. Quindi sono cose diverse.

metodi parziali sono stati portati alla foto per estendere le classi esistenti che non si ha il controllo su (parte del quadro o auto-generata)

Spero che questo aiuti

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top