c delegate tutorial how instantiate
In deze zelfstudie wordt uitgelegd hoe u een C # -afgevaardigde gebruikt met behulp van eenvoudige codevoorbeelden. U zult ook leren over multicast-afgevaardigden in C #:
Wat zijn C # -afgevaardigden?
In C # zijn afgevaardigden vergelijkbaar met verwijzingen die beschikbaar zijn in C ++. Het is in feite een variabele van het referentietype die een verwijzing naar een andere methode bevat.
Verder kan de referentie tijdens de looptijd niet worden gewijzigd. Het is beschikbaar in de klasse System.Delegate. Een gedelegeerde wordt gebruikt om de terugbelfunctie of een gebeurtenishandler af te handelen.
Het is als een pointer naar een functie en kan worden gedeclareerd met behulp van het trefwoord delegate gevolgd door de handtekening van de functie.
Lees hier de hele C #-trainingsserie
De verklaring van de gedelegeerde bepaalt ook de methode waarnaar kan worden verwezen door de gedelegeerde, d.w.z. het kan een referentiemethode zijn die dezelfde handtekening heeft als een gedelegeerde.
Wat je leert:
Afgevaardigde in C # instantiëren
Zodra de gedelegeerde is gedeclareerd, kan deze worden geïnstantieerd met het nieuwe sleutelwoord en moet het worden geassocieerd met de methode. Net als bij een methode, moet de uitdrukking een argument doorgeven.
Een gemachtigde aanroepen
Een gedelegeerde kan net als een methode worden aangeroepen.
Voorbeeld:
Uitvoer
De output van het bovenstaande programma zal zijn:
Delegeren die naar methode wijst
Uitleg
interviewvragen over c ++
In het bovenstaande programma hebben we een object van de gedelegeerde gemaakt en dit naar de methode gewezen die we moeten aanroepen. Vervolgens gebruikten we de invoke () om de methode aan te roepen met ‘delegate’.
Waarom hebben we C # Delegate nodig?
We hadden de methode rechtstreeks vanuit onze hoofdmethode kunnen aanroepen, maar waarom hebben we echt een gedelegeerde nodig?
Delegeren in eenvoudige taal betekent een vertegenwoordiger voor communicatie tussen twee groepen. Zelfs in een programmeercontext heeft het een vergelijkbare rol. Het wordt gebruikt voor terugbellen.
Laten we aannemen dat we een langlopende methode hebben en dat we die voortgang continu moeten controleren. Om dat te doen, gebruiken we terugbellen met een gemachtigde. Hierdoor kunnen we de langlopende methode bijhouden.
Bijvoorbeeld:
De output van het bovenstaande programma zal zijn:
Uitvoer
Het huidige willekeurige nummer is: 1559
Het huidige willekeurige nummer is: 6127
Het huidige willekeurige nummer is: 6639
Het huidige willekeurige nummer is: 3963
Het huidige willekeurige nummer is: 4479
Het huidige willekeurige nummer is: 6898
Het huidige willekeurige nummer is: 1390
Het huidige willekeurige nummer is: 6409
Het huidige willekeurige nummer is: 2629
Het huidige willekeurige nummer is: 5464
In het bovenstaande programma hebben we een gedelegeerde gebruikt om een callback te krijgen van de 'GenereerNummer' -methode die een willekeurig geheel getal genereert voor een gegeven iteratie. Deze iteratie kan enorm zijn. Daarom wordt de gedelegeerde hier gebruikt om elke keer dat een willekeurig geheel getal in de methode wordt gegenereerd, een oproep terug te krijgen.
Wat is een multicast-afgevaardigde in C #?
Een afgevaardigde kan verschillende methoden aanwijzen. Een gedelegeerde die naar verschillende methoden verwijst, wordt een multicast-gedelegeerde genoemd. Een '+' teken (operator) wordt gebruikt om een functie aan de deelnemer toe te voegen en het '-' teken (operator) wordt gebruikt om een bestaande functie die aan de deelnemer is gekoppeld te verwijderen.
beste gratis pop-up blocker chroom
Een multicast-gedelegeerde roept de functies op waarnaar hij verwijst en alleen hetzelfde type functies kan worden gecombineerd om een multi-cast-gedelegeerde te vormen. Dit kan worden gebruikt om een lijst met methoden te maken die moeten worden aangeroepen door een enkele gedelegeerde aan te roepen.
Laten we eens kijken naar een eenvoudig programma om dit te begrijpen:
Programma
Uitvoer
de waarde van de eerste methode 5
de waarde van de tweede methode 50
In het bovenstaande programma hebben we een gedelegeerde IntegerCounter verklaard. Vervolgens hebben we twee verschillende methoden gemaakt die een bepaalde bewerking uitvoeren op de integerwaarde. Vervolgens hebben we in de hoofdmethode delegeren geïnitialiseerd voor beide gedefinieerde methoden.
Vervolgens gebruikten we eerst het gedelegeerde object om naar de eerste geïnitialiseerde gedelegeerde methode te verwijzen en daarna gebruikten we het '+' teken om te multicast delegeren en naar een andere methode te wijzen. Als we vervolgens een integer-parameter doorgeven, ontvangen beide methoden dezelfde parameter en worden ze uitgevoerd.
Gevolgtrekking
Een gedelegeerde is een verwijzing naar een functie. De methode die de gedelegeerde gaat gebruiken, moet dezelfde parameter en hetzelfde retourtype hebben.
De gedelegeerde kan als een functie worden gedeclareerd en kan ook op dezelfde manier worden aangeroepen. Een multicast-gedelegeerde is wanneer we de gedelegeerde gebruiken om naar meerdere methoden te verwijzen en een plus '+' -operator wordt gebruikt om multicast te gebruiken.
Bekijk hier de volledige reeks C # -trainingstutorials
Aanbevolen literatuur
- Selenium-scripts debuggen met logboeken (Log4j-zelfstudie) - Selenium-zelfstudie # 26
- Efficiënte Selenium-scripts en scenario's oplossen - Selenium-zelfstudie # 27
- Implementatie van ons eerste WebDriver-script - Selenium WebDriver-zelfstudie # 10
- WebDriver Volledige installatie en installatie met Eclipse - Selenium Tutorial # 9
- Inleiding tot Selenium WebDriver - Selenium Tutorial # 8
- Generics en Testsuites maken - Selenium Tutorial # 22
- Hoe om te gaan met uitzonderingen in SoapUI Groovy Scripts - SoapUI Tutorial # 11
- De uitvoeringsstatus van TestLink-testcases op afstand bijwerken via Selenium - Tutorial # 3