Problemi con, o le migliori pratiche per, il passaggio di dati indietro attraverso EventArgs?

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

Domanda

Ho una classe non-GUI che genera eventi per quello che sta facendo (che sono a loro volta utilizzato da un modulo per visualizzare all'utente il progresso).

Uno degli eventi è un AboutToDoSomethingDestructiveEvent. Ora vogliamo avere visualizzare il modulo di una finestra di dialogo per l'utente quando AboutToDoSomethingDestructiveEvent è sollevato, chiedendo loro se vorrebbero SomethingDestructive per accadere. Se selezionano no, allora avremmo impostare un valore sul EventArgs del cliente e la forma originale leggevamo che il valore e passare a fare SomethingDestructive.

È questo un uso corretto di Eventi e EventArgs? Ci sono problemi con questo approccio? Ci sono delle migliori pratiche per fare questo genere di cose?

È stato utile?

Soluzione

L'approccio è così buono c'è anche una classe in .NET Framework per questo: CancelEventArgs

Altri suggerimenti

Il modo in cui si sta pensando è il modo corretto di farlo. L'evento Console.CancelKeyPress è essenzialmente la stessa cosa.

Console.CancelKeyPress

Questo è un approccio corretto, fino a quando avete i vostri propri EventArgs, che ereditano da System.EventArgs. E 'molto comune, il miglior esempio mi viene in mente è in PostSharp con l'FlowBehavior.

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