fehler bei statischer methode in öffentlicher klasse
-
public class Tools { private Tools() {} // es soll keine Instanz erzeugt werden können public static string DirSep( string src) { if ( src.EndsWith( Path.DirectorySeparatorChar ) ) //fehler hier return src; else return src + Path.DirectorySeparatorChar; } }
Ich damit auf die Funktion "DirSep" überall in meinem Projekt zugreifen, ohne Instanz, sozusagen als globale Funktion.
In der if-Abfrage zeigt er mir folgenden Fehler an:xxx\Tools.cs(15): Auf 'string.EndsWith(char)' ist der Zugriff aufgrund der Sicherheitsebene nicht möglich
Ich kenn den Fehler, er zeigt normalerweise das man versucht auf einen privaten Member zuzugreifen. Aber seit wann ist EndsWith in string private?
Helft mir. Bitte.
-
Ein public EndsWith(char) gibt es nicht.
-
huch, hast ja recht.
aber was soll dan die unpassende Fehlermeldung
-
Vielleicht gibt es ja eine private solche Methode. Ist mir aber jetzt auch unverständlich, warum es kein öffentliches EndsWith(char) gibt. Sowas kann man sicher mal brauchen.
-
Komisch, ich hab das EndsWidth auch in Verwendung und es funktioniert tatellos:
// m_cbTage is ne Combobox ! bool bEnable = m_cbTage.Text.EndsWith("woch");
-
Du übergibst ja auch einen String und kein char.
-
DirectorySeparatorChar gibt einen Char zurück und EndsWith verlangt einen String als Parameter, also noch ein ToString() an DirectorySeparatorChar anfügen und es klappt.
-
@Optimizer
uuuupppsss. mein fehler *tutleid*