methodenreferenzinstanz überladen?

05/01/2009 - 15:13 von Martin | Report spam
hallo noch einmal,
da ich letztes gleich ausprobiert habe, kam gleich der versuch, eine instanz
auf zwei methodenreferenzen unterschiedlicher signatur zu verweisen, - was
der compiler verweigerte.
geht das ganz und gar nicht?

gruß
Martin
 

Lesen sie die antworten

#1 Frank Dzaebel
05/01/2009 - 15:41 | Warnen spam
Hallo Martin,

[...] eine instanz auf zwei methodenreferenzen unterschiedlicher
signatur zu verweisen, - was der compiler verweigerte.
geht das ganz und gar nicht?



Im Gegensatz zu Funktionszeigern sind Delegaten sicher, überprüfbar und
typsicher.

[Delegaten im allgemeinen Typsystem]
http://msdn.microsoft.com/de-de/lib...1ayy4.aspx

Ein Delegattyp kann jede Methode mit einer "kompatiblen" Signatur
darstellen.
Ab .NET 2.0 müssen Parametertypen und der Rückgabetyp eines Delegaten
mit den Parametertypen und dem Rückgabetyp der Methode (nur noch)
"kompatibel" sein, die der Delegat darstellt. Die Typen müssen nicht exakt
übereinstimmen. "Kompatibel" sind zum Beispiel "abgeleitete Klasse" und ihre
Basisklasse. Beispielsweise kann ein Delegat mit dem Parametertyp Hashtable
und dem Rückgabetyp "object" eine Methode mit dem Parametertyp "object"
und dem Rückgabetyp Hashtable darstellen.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen