En delegat är en klass som definierar typen av metod så att den kan skickas som ett argument till en annan metod. Ett evenemang är en särskild beställning.
1. Förtroendeförklaring
(1). delegat
delegat
Delegat har minst 0 parametrar och maximalt 32 parametrar, och kan sakna returvärde eller specificera en typ av returvärde.
Till exempel public delegate int MethodtDelegate(int x, int y); Indikerar att det finns två parametrar, och returnerar en int-typ.
(2). Handling
Handling är en generisk delegat utan något returvärde.
Handling representerar en delegat utan parametrar och utan returvärde
Action<int,string> indikerar en delegat med en inkommande parameter int och inget returvärde för strängen
Action<int,string,bool> indikerar en delegat med inkommande parametrar int,string,bool utan returvärden
Action<int,int,int,int,int> betyder att det finns fyra int-typparametrar som skickas in och att det inte finns något returvärde
Handlingen har minst 0 parametrar och maximalt 16 parametrar, utan något återkastvärde.
Exempel:
(3). Func
Func är en generisk delegat med ett returvärde
Func<int> betyder en delegat utan parametrar och returnerar ett int-värde
Func<object,string,int> representerar en delegat med den inkommande parametern som objekt och strängen returnerar ett int-värde
Func<object,string,int> representerar en delegat med den inkommande parametern som objekt och strängen returnerar ett int-värde
Func<T1,T2,,T3,int> representerar en delegat med den inkommande parametern T1, T2, ,T3 (generisk) som returnerar ett int-värde
Func har minst 0 parametrar och maximalt 16 parametrar, vilka returneras enligt returvärdet generiskt. Det måste finnas ett returvärde, inte ogiltigt
Exempel:
(4) .predikat
predikat är en generisk delegat som returnerar en bool-typ
Predikat<int> representerar en delegat med den inkommande parametern int som returnerar bool
Predikatet har och endast en parameter, och returvärdet är fast till bool
Exempel:
|