Ich habe eine eine Erweiterung Klasse, die Func<T, TResult>
dessen Unterschrift sieht wie folgt erweitert:Implizite Konvertierung eines Verfahrens Func <T, Tresult>
public static ITryAndReturnValue<TResult> Try<T, TResult>(this Func<T, TResult> func, T arg, int retries)
ich es auf ein Verfahren, durch das Gießen der Methode Func<T, TResult>
wie so umsetzen können .. .
Func<string, string> func = request.DownloadString;
string response = func.Try(urlA, 3);
Aber was ich wirklich will, ist dies zu tun:
string response = request.DownloadString.Try(urlA, 3);
Aber ich bekomme diesen Kompilierzeitfehler.
CS0119 ‚WebClient.DownloadString (string)‘ ist eine Methode, die nicht gültig im gegebenen Kontext ist
Gibt es etwas, was ich tun kann, um meine Extension-Methode zu arbeiten, wie ich es will zu?
Die normale statische Methodenaufrufsyntax funktioniert für mich mit dem gegebenen Beispiel - möglicherweise wegen der besseren Besserung in C# 6? –
Danke für die schnelle Antwort! :) Ich verstehe nicht, was du meinst, wenn du sagst, dass es nicht "normal" funktionieren wird. Kannst du es ausarbeiten? – yozepi
Bummer. Ich wünschte, ich hätte bessere Besserung. – yozepi