Hallo!
Doch, das geht, aber nur, wenn er als Referenz übergeben wird (wenn es nicht schon ein Referenzdatentyp ist). Du kannst ihn als "ref" übergebe:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| public static void Decode(ref string value) { value = "Ich bin das Ergebniss"; }
string value = "foo"; Decode(ref value); |
Dann geht der Compiler davon aus, dass der Parameter auch in der Methode gelesen wird, mosert daher, wenn er vor dem Methodenaufruf nicht befüllt wurde. Willst Du den Parameter ausschließlich dazu verwenden, um einen Wert zurückzugeben, dann benutze "out".
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| public static void Decode(out string value) { value = "Ich bin das Ergebniss"; }
string value; Decode(out value); |
Da dürfte der Compiler (wenn ich mich recht entsinne) mosern, wenn Du den Parameter in der Methode lesen willst. Vor allem mosert er aber, wenn dem Parameter in der Methode kein Wert zugewiesen wird.
Ich nehme an, in Deiner richtigen Methode ist es nicht möglich, der Methode einfach einen Rückgabewert zu verpassen?
Grüße
Christian
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".