int addiere(int x) { return x+x; }

delegate int RechneTyp(int x);

int machwas(RechneTyp r, int zahl) {
	return r(zahl);       // Aufruf des Delegate
}

int main() {

	// Aufruf über Variable:
	RechneTyp a;
	a = addiere;
	int ergebnis = a(5);

	// Direkter Aufruf der Methode:
	int ergebnis2 = machwas(addiere, 2);

	return 0;
}