Casting C # out Parameter?

Ist es möglich auszutreiben param Argumente in C#? Ich habe:

Dictionary<string,object> dict;  //but I know all values are strings
string key, value;

Grob gesagt (und wenn ich nicht statische Typisierung), die ich tun will:

dict.TryGetValue(key, out value);

aber dies wird offensichtlich nicht kompilieren, da es "keine Konvertierung von 'string' zu 'Objekt'".

Den workaround, den ich verwende, ist:

object valueAsObject;
dict.TryGetValue(key, out valueAsObject);
value = (string) valueAsObject;

aber das scheint mir eher umständlich.

Gibt es irgendeine Art von Sprache-Funktion, lassen Sie mich werfen ein out-Parameter beim Aufruf der Methode, so tut es dies switcheroo für mich? Ich kann nicht herausfinden, jede syntax, die helfen werden, und ich kann nicht scheinen, nichts zu finden mit google.

InformationsquelleAutor der Frage Ken | 2009-08-27

Schreibe einen Kommentar