out-Parameter

22/07/2008 - 13:18 von Adrian Stern | Report spam
Hallo

Ich schreibe mir eine Methode, die mehrere Rückgabewerte enthalten soll.
Geseh habe ich zwar, dass dies mit einem out-Parameter klappen soll,
allerdings bekomme ich eine Fehlermeldung.

Hier ein bischen Code:

#####CODE#####

//Die Methode:
private bool ReadStream2(out byte[] buf)
{
(...)

buf = new byte[mem.Length];
buf = mem.GetBuffer();

return ((char)mem.GetBuffer()[0] == '+') ? true : false;
}

//Der Aufruf:
byte[] b;
bool s4 = ReadStream2(b);

##############

Der Compiler meldet, dass ich dem Methodenaufruf falsche Argumente mitgebe:

Compiler Error Message: CS1502: The best overloaded method match for
'aaa.ReadStream2(out byte[])' has some invalid arguments

Könnte daran liegen, dass der Bytearray den ich übergebe noch nicht
initialisiert ist. Die Lànge bekomme ich allerdings erst in der Methode
drinnen.

mfg
Adrian
 

Lesen sie die antworten

#1 Joachim Fuchs
22/07/2008 - 13:35 | Warnen spam
Hallo Adrian,

siehe Doku zu out / ref

bool s4 = ReadStream2(out b);

(um bei Deinen sprechenden Variablennamen zu bleiben)

Gruß
Joachim

Dr. Joachim Fuchs - Autor - Dozent - Softwarearchitekt
MCT - MCAD
http://www.fuechse-online.de/beruflich/index.html -
http://vbnet.codebooks.de

Ähnliche fragen