Hi
ich bin neu in Sachen C#, kann aber auch mäßig Java und habe mir einen leichten Einstieg erhofft.
Mein erstes Projekt sollte ein Programm werden, dass ein Passwort darauf überprüft, ob es einigermaßen sicher ist.
Mein Programm soll in der Konsole ausgeführt werden und ich habe mir eine Prozedur geschrieben, die einen Text in der Konsole zentrieren soll. Damit man bestimmen kann, ob ein LineBreak vor oder nach dem Text gesetzt werden soll, habe ich ein Enum erstellt, welches dann via Parameter übergeben werden kann und in der Prozedur ausgewertet wird.
Aber es kommt folgende Fehlermeldung und ich denke, dass diese auch durch meine Lösung mit dem Enum herbeigeführt wird.
Die Fehlermeldung lautet:
Quelltext
1:
| Inkonsistenter Zugriff: Parametertyp "PasswortChecker.Program.LineBreak" ist weniger zugreifbar als Methode "PasswortChecker.Program.CenterText(string, PasswortChecker.Program.LineBreak)" |
und das ist mein Programmcode:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43:
| using System; using System.Text;
namespace PasswortChecker { class Program { private enum LineBreak { Before = 1, After = 2 }; delegate void Count();
static void Main(string[] args) { Console.ForegroundColor = ConsoleColor.Yellow; CenterText("PasswortChecker", LineBreak.After); CenterText("by Fabian Classen", LineBreak.Before); Console.ReadKey(); }
public static void CenterText(string text, LineBreak lb) { int l = text.Length; int count = 40 - l / 2;
Count MyCount = delegate() { for(int i=1; i<count; i++) { Console.Write(" "); } };
if (lb == LineBreak.Before) { Console.WriteLine(""); MyCount(); Console.WriteLine(text); } else if (lb == LineBreak.After) { MyCount(); Console.WriteLine(text); } } } } |
Ich hoffe ihr könnt mir helfen
Ich freue mich schon auf eure Antworten.
MFG
Fab

Eins habe ich erkannt ... ich werde immer Schüler bleiben - ein Leben lang