C# | Wie kann man durch Data Annotations über einer Property vom Typ Enum, festlegen, welche Werte erlaubt sind und welche Werte nicht erlaubt sind?

1 Antwort

Ich möchte an dieser Stelle eher einmal hinterfragen, wieso du dafür eine Annotation, also letzten Endes Reflection benötigst.

Eine Enumeration ist bereits dazu da, einen Wertebereich einzugrenzen. Ferner sollte sie nur aus zwei Werten bestehen oder du verwendest an der Stelle gleich den boolschen Datentyp. Eine dritte Option wäre es, den Setter selbst zu definieren:

private YesNo _chosen;

public YesNo Chosen
{
  get => _chosen;
  set
  {
    if (value == YesNo.None)
    {
      throw new Exception();
    }

    _chosen = value;
  }
}

PS.: Mixe nicht verschiedene Sprachen für deine Bezeichner. Choose deutet im Übrigen eher auf eine Methode, als auf ein Property hin, denn es ist ein Verb.

9

Also das mit Choose war einfach ein Beispiel, welches ich mir schnell mal ausgedacht habe. Ich habe ja im Hintergrund das INotifyDataError laufen und das resultiert in einem boolschen Wert für das jeweilige Model. Ich wollte also die Fehler durch Annotations Beschreiben.

0

Unterschied zwischen C, C++ und C#?

Hey Leute,

Ich bringe mir gerade C++ bei. Da es ja auch noch C und C# gibt habe ich mich gefragt, worin die Unterschiede in der Syntax und die Vor-/Nachteile während der Laufzeit bei den einzelnen Sprachen liegen?

Danke schonmal.

...zur Frage

RimWorld: Mod schreiben?

Hey Leute,

ich weiß, für viele erfahrene Modder mag diese Frage vllt echt doof klingen, aber ich bin eben ein Anfänger xD Also: Wie fange ich überhaupt an, wenn ich eine Mod für RimWorld schreiben möchte? Idee habe ich schon, ein bisschen mit c# auseinandergesetzt habe ich mich auch, auch erste Programme geschrieben, aber eine Mod stellt mich echt (wahrscheinlich komischerweise) vor eine große Herausforderung... Wenn einer von euch schon mal eine geschrieben hat und ich mir den Code (nur zu Lernzwecken) mal ansehen könnte, wäre das echt mega cool

Danke für jeden Tipp, BuBBles

...zur Frage

C# Mehrfachvererbung mit Interfaces?

Hallo,

ich bin Anfänger was das Programmieren mit C# betrifft und habe eine Frage zum Thema Mehrfachvererbung mit Hilfe von Interfaces.

Da es keine echte Mehrfachvererbung in C# gibt kann man sich ja mit der Tatsache behelfen, dass eine Klasse mehrere Interfaces implementieren kann.

Das ist zumindest das, was man in der Literatur lesen kann.

Aber was bringt mir das ? Mit den Interfaces kommt ja kein Programmcode in die neue Klasse, da Interfaces keinen Code enthalten.

Wenn ich 2 Klassen (mit Code) hätte, z.B

"Landfahrzeuge" und "Wasserfahrzeuge"

und eine 3. Klasse erstellen würde, die von beiden erbt, also zum Beispiel: Amphibienfahrzeuge : Landfahrzeuge, Wasserfahrzeuge

Dann hätte "Amphibienfahrzeuge " ja alle Methoden etc. der beiden anderen Klassen.

Aber wenn ich nur 2 Interfaces implementiere, also etwa

Amphibienfahrzeuge : ILandfahrzeuge, IWasserfahrzeuge

was ist dann der Nutzen ?

Danke

...zur Frage

Windows Key auslesen unter C#?

Hallo, Liebe freunde ! Nachdem meine erste frage nicht so gepostet wurde wie ichs wollte :( Frag ich nochmal weiß jemand von euch wie ich unter C# den windows key auslesen kann? :)

...zur Frage

C# while (bedingung 1 ll bedingung 2 ll bedingung 3 usw) möglich?

Hallo zusammen,

kann mir jemand sagen, wie ich in C# in einer While-Schleife mehrere oder-Bedingungen verknüpfen kann?

Ich habe es versucht mit

int zahl;

Console.WriteLine ("Bitte wählen Sie 1, 2, 3 oder 9: ");
zahl = Int32.Parse(Console.ReadLine());

while (zahl != 1 || zahl != 2 || zahl != 3 || zahl != 9)
        {
            Console.WriteLine("Falsche Eingabe. Bitte Eingabe wiederholen: ");
            zahl = Int32.Parse(Console.ReadLine());            
        }

Leider sagt mir mein Programm auch bei eingabe einer "gültigen" Zahl, die Eingabe sei falsch, und ich komme aus der Schleife gar nicht mehr raus. Eine Fehlermeldung erhalte ich nicht.

Was mache ich falsch?

Freue mich über Lösungsvorschläge!

LG Anita

...zur Frage

C# Projekt - Hat jemand eine Idee?

Hey,

ich bin 14 Jahre alt und suche ein langzeit Projekt in C# zum Fortbilden.

Meine C#-Kenntnisse sind auf der stand gut bis sehr gut.

MfG

...zur Frage

Was möchtest Du wissen?