Ich möchte eine Methode implementieren, die Sachen in meiner benutzerdefinierten Klasse findet. Es sollte funktionieren wie generische Sammlungen funktionieren - ich übergebe einen Zeiger auf eine Funktion, und die Methode wird alles durchlaufen, was sie suchen muss, wenden Sie diese Funktion an, und wenn sie wahr zurückgibt, geben Sie das gefundene Element zurück.C# -Funktion, die den Zeiger als In-Parameter verwendet, ohne bestimmte Delegattypen zu deklarieren?
Ich würde Funktionszeiger als Parameter übergeben, aber ich möchte Delegatentypen nicht deklarieren.
weiß, dass ich mich so etwas wie tun:
delegate bool Foo(MyClass)
MyClass MyMethod(Foo x)
{...}
Und ich weiß, dass ich etwas tun kann:
MyClass MyMethod(Func<MyClass,bool> x)
Aber kann ich es tun, ohne einen Delegattyp zu deklarieren und ohne eingebaute Verwendung in Sachen wie Func <> die Grenzen hat, wie viele Parameter ich haben kann (im Falle von Func, eine ...)
Nun, vielleicht können Sie Funktion mit einem Objekt-Array haben? –
In .NET 3.5 kann 'Func' mehr als einen Parameter haben. http://msdn.microsoft.com/en-us/library/bb549151(v=vs.90).aspx siehe: http://i.imgur.com/yQIaf.png – Cheeso
Danke. Gibt es eine Möglichkeit, den Delegattyp in der Methodendeklaration zu deklarieren, oder muss ich Func <> verwenden? – Istrebitel