Ich versuche, Code zu lesen, den ich nicht geschrieben habe. Im Hauptteil der Klasse gibt es die folgenden 2 Zeilen.Eine Frage zu Delegaten
// RenderingService callbacks
protected RenderingServiceResponsesDelegate renderingServiceResponsesDelegate;
public delegate void RenderingServiceResponsesDelegate(Collection<RenderingServiceResponse> responses);
Nun, ich habe noch nie verwendet Delegierten in C#, lesen Sie aber, dass drei Schritten besteht (Erklärung, Instanziierung und Aufruf). Die zweite Zeile sieht wie die Deklaration aus und die erste Zeile sieht wie der erste Schritt der Instanziierung aus. Innerhalb der Konstruktor der Klasse gibt es die folgende Zeile:
//Inside the constructor
this.renderingServiceResponsesDelegate = renderingServiceResponsesDelegate;
wo renderingServiceResponsesDelegate der Parameter durch den Konstruktor übergeben wird. Das wäre also der zweite Teil der Instanziierung. Ist das richtig verstanden? Ich war verwirrt von der Reihenfolge der Dinge. Ist es möglich, es so in C# zu instanziieren, bevor es deklariert wurde?
Ok:
Ein Aufruf dann wie folgt aussehen würde. Ich habe den Code ausgewählt, weil er sehr groß ist. Es gibt eine andere Klasse, die diese Klasse instanziiert. Er übergibt eine Methode, die in ihrer eigenen Klasse deklariert ist. Die Zeile lautet: this.RenderingServiceResponseCallback –
Vielen Dank. Ich denke, ich verstehe jetzt den Code und den Grund dafür, dass er so strukturiert ist. –