Registro distinto e traccia per ogni oggetto in .NET [chiuso]

-4

Ho a che fare con oggetti molto complessi in .NET (nel mio caso un modello ad elementi finiti che può consistere di migliaia di altri oggetti dice che un'istanza Model ha una grande lista di istanze Element). Vorrei aggiungere la funzione di registro per modello e il suo solo per mostrare il registro all'utente, non memorizzarlo. Un modo molto semplice è aggiungere una proprietà Status di tipo string per modellizzare e scrivere lo stato in esso. Inoltre, è possibile creare uno stato di tipo più complesso, ma la cosa che voglio sapere qual è il modo più carino per questo? c'è qualche funzione incorporata in .NET per questo scopo?

    
posta epsi1on 22.09.2014 - 08:37
fonte

1 risposta

0

Probabilmente stai cercando TraceSource , in contrasto con il suo fratello maggiore, Trace .

Funziona in modo molto simile, tranne che per creare istanze di TraceSource con identificatori diversi.

var source = new TraceSource("foo");
source.Listeners.Add(new ConsoleTraceListener());
source.TraceEvent(TraceEventType.Error, 1, "here be dragons");

Le istanze possono essere configurate nel codice o tramite i file .config (app / web / machine), sebbene la maggior parte di ciò sia spiegata nel collegamento MSDN.

Per quanto riguarda la visualizzazione all'utente anziché memorizzarlo, è solo questione di collegare l'ascoltatore giusto. Se un tipo di ascoltatore incorporato che fa ciò che vuoi non esiste, è piuttosto semplice estendere TraceListener . Ad esempio, in una piccola utility di test, ne ho creata una che ha generato eventi durante la scrittura dei messaggi e quindi ha cablato gli eventi per visualizzarli nella barra delle applicazioni.

    
risposta data 22.09.2014 - 19:32
fonte

Leggi altre domande sui tag