Optionales Argument
-
Wie kann ich ein optionales Argument benutzen?
public int MeineFunktion (string SourcePath, string DestinationPath, OPTIONAL string Arg)
So wie hier geht es nicht.
-
Gibts erst ab C# 4.0
sieht dann wie folgt aus:
public int MeineFunktion (string SourcePath, string DestinationPath, string Arg = "Hallo Welt")
-
Der Compiler kommt dann mit:
Fehler CS0241: Standardparameterbezeichner sind unzulässig.
(Ich arbeite mit VS2005)
-
Dann mußt du entsprechend überladene Methoden anbieten - und die optionalen rufen dann die allgemeingültige Methode auf:
public int MeineFunktion(string SourcePath, string DestinationPath) { return MeineFunktion(SourcePath, DestinationPath, "Hallo Welt"); } public int MeineFunktion(string SourcePath, string DestinationPath, string Arg) { // ... }
-
Bei C# (Version < 4.0) läuft das normal über Delegierung des aufrufs:
public int MeineFunktion( string SourcePath, string DestinationPath ) { return MeineFunktion( SourcePath, DestinationPath, "Hallo Welt" ); } public int MeineFunktion (string SourcePath, string DestinationPath, string Arg)
Edit... hm
-
Ahhh... Funktionsüberladung - das sagt mir was. Danke!