Laden...

Delegate in C#

Erstellt von DevCSharp vor 2 Jahren Letzter Beitrag vor 2 Jahren 218 Views
DevCSharp Themenstarter:in
7 Beiträge seit 2021
vor 2 Jahren
Delegate in C#

Hallo zusammen,
ich möchte diese Syntax verstehen:


        public Action Selected { get; }

Ich weiß es, dass Action ein Delegate ist, Aber nachdem zu recherchieren, konnte nicht diese Syntax zu verstehen!
Vielen Dank im Voraus!

16.830 Beiträge seit 2008
vor 2 Jahren

Das ist eine Eigenschaft vom Typ Action mit dem Namen Selected, die im Konstruktur gesetzt werden muss (weil nur get).
Mehr kann man dazu eigentlich nicht sagen, weil Du den Context nicht erklärst.

DevCSharp Themenstarter:in
7 Beiträge seit 2021
vor 2 Jahren

Danke dir,
eigentlich ist das eine Teil von Option klasse zu definieren:


// class Option zu definieren
    public class Option
    {
        public string Name { get; }
        public Action Selected { get; }
        public Option(string name, Action selected)
        {
            Name = name;
            Selected = selected;
        }
    }

16.830 Beiträge seit 2008
vor 2 Jahren

Und was is die Frage? Wie Du die Action übergibst, oder wo kommst Du nicht weiter?

DevCSharp Themenstarter:in
7 Beiträge seit 2021
vor 2 Jahren

Wo und Wann und Warum kann man von Action benutzen?

16.830 Beiträge seit 2008
vor 2 Jahren

Actions sind Delegaten.
Damit kannst Du Aktionen (zB Methodenaufrufe) deklarieren und an einer anderen Stelle ausführen; wichtig in gewissen Code-Style bzw Software Architektur Szenarien.

Lies dazu die Doku, die ich Dir auch verlinkt habe, durch.
Da sind Beispiele enthalten. Ansonsten hier ein Video von Tim Corey, in dem er Delegates und auch Actions erklärt.
Delegates in C# - A practical demonstration, including Action and Func - YouTube

DevCSharp Themenstarter:in
7 Beiträge seit 2021
vor 2 Jahren

Sehr praktisch, danke!