Skip to content

Delegates

Delegate definerer en signatur af en metode.

Eksempel:

c#
public delegate void MyDelegate();

public void Hello()
{
	Console.WriteLine("Hello World");
}

MyDelegate delegate = Hello;

Anonymous delegates

Samme funktion som delegates, dog bare inline

Eksempel:

c#
public delegate void MyDelegate();

MyDelegate delegate = delegate() 
{
	Console.WriteLine("Hello World");
};

Composable delegates

Samme funktion som delegates, dog bare hvor en delegate indeholder flere metoder på samme delegate.

Eksempel:

c#
public delegate void LogDelegate(string message);

public void Info(string message) 
{
	Console.WriteLine($"INFO: {message}");
}

public void Warn(string message) 
{
	Console.WriteLine($"WARN: {message}");
}

LogDelegate logger = Info;
logger += Warn;