2009-03-16 12 views
6

Due volte questa settimana, ho letto che le persone scrivono che un evento (.net) è stato "gettato". Ho sempre pensato che il verbo da usare con gli eventi sia "fire" o "raise". Ho pensato che "gettato" fosse usato per le eccezioni, ma non per gli eventi ("raise" può essere usato per entrambi).Terminologia: gli eventi possono essere "lanciati"?

Qualcun altro lo trova confuso per gli eventi da "lanciare"?

+2

No, non possono essere lanciati, ma molto come i nani e gli hobbit, possono essere lanciati. –

risposta

18

Accetto, gli eventi vengono generati/attivati ​​/ attivati. Se qualcosa è lanciato, sono le eccezioni.

+0

Ho pensato di dire scoppi d'ira ed eccezioni! –

+0

È malato dire criceti? – Xetius

3

Alza è il verbo che sembra essere il più comune nei documenti MSDN.

Sono d'accordo: se sento che qualcosa è stato lanciato, presumo sia un'eccezione. Il linguaggio C# lo rende molto esplicito - il lancio è una parola riservata usata con le eccezioni.

1

In genere, le persone si riferiscono a eventi che vengono generati o generati. Ma gettato va perfettamente bene secondo me. La chiave è se dicono che l'evento è stato lanciato.

Non tentare di dividere su molti capelli. La nostra professione è abbastanza complicata con le migliaia di tecnologie e tanto meno le piccole sfumature di come comunichiamo.

+0

+1 - Finché sei chiaro cosa intende dire la persona, non dovresti preoccuparti. –

5

Un altro termine è "Invocato". Poiché gli eventi sono delgati, vengono richiamati per chiamarli, ma sì il termine generale è "licenziato" o "sollevato".

Inoltre, l'uso della parola "lancio" in questo contesto è confuso, perché sarà confuso con la parola chiave "lancia". Non puoi lanciare un evento con la parola chiave throw.

3

Sebbene sia possibile fare le cose che non sono eccezioni, è chiaro che throw è destinato esclusivamente alle eccezioni. Alza è davvero il termine che useresti per indicare che un evento è successo.

3

No, non possono essere lanciati, ma molto come i nani e gli hobbit, possono essere lanciati.

1

Direi che tu pubblica un evento.

2

Penso che gli eventi possano essere lanciati, ma è una codifica incompetente se lo si fa realmente.

Lasciatemi spiegare. In C++ puoi lanciare qualsiasi tipo. Puoi lanciare booleani. Puoi lanciare enum error_type. Puoi lanciare std::exception. E ovviamente puoi lanciare struct XEvent.

Ma molto probabilmente stai facendo qualcosa di orribilmente sbagliato o orribilmente confuso (e quindi sbagliato) se lo fai davvero.

Sono tutti per non sovraccaricare i significati delle parole, per evitare l'ambiguità (dove non è necessario esistere).

Penso che "throw" sia comunemente inteso come implicito nello stack stack (per quando si dispone di uno stack ben definito, ma penso che possa essere esteso a un elenco collegato singolarmente di in-degree illimitato, ovvero un albero dei puntatori genitore). Rimaniamo fedeli a questo.

La parola "raise" viene utilizzata anche per i segnali. Sarebbe bello se fosse possibile evitare di usarlo anche per gli eventi.

Preferisco "licenziato" per quando si verifica l'evento ("l'evento onMouseOver appena attivato"), e forse "è stato segnalato" quando il listener di eventi notifica al consumatore ("l'evento XMouseMotionNotify è stato segnalato al client").

Problemi correlati