Debug i Trace

Trace.Listeners.Add(new TextWriterTraceListener(File.CreateText(„log.txt”))); // zapisywanie tekstu jest buforowane, a ta opcja wywołuje // metodę Flush() we wszystkich obiektach nasłuchujących // po wykonaniu każdego zapisu Trace.AutoFlush = true; Debug.WriteLine(„DEBUG log”); Trace.WriteLine(„TRACE log”);

Konstruktor statyczny

Konstruktor, który może zainicjować wszystkie wartości statycznych danych klasy. Nie przyjmuje on żadnych parametrów i nie ma określonego modyfikatora dostępu. Przykład: class SimpleClass { public static int Instances { get; private set; } static SimpleClass() { Console.WriteLine("SimpleClass static constructor called"); Instances = 0; } public SimpleClass() { Console.WriteLine("SimpleClass object constructor Dowiedz się więcej

Zdarzenia asynchroniczne

Zdarzenia asynchroniczne umożliwiają wykonanie czasochłonnego zadania w nowym wątku roboczym, który przydzielany jest z puli wątków. W celu utworzenia zdarzenia asynchronicznego tworzymy delegata i wywołujemy go za pomocą metody BeginInvoke. Argumentami metody są: delegat AsyncCallback, który określa metodę wywoływaną zwrotnie po zakończeniu działania asynchronicznego i obiekt, który zostanie do niej Dowiedz się więcej