Wie macht man das in c #?
Nehmen wir an, dass myclass folgendes hat:
%Vor%
1) Wie fügt man mit Hilfe des Konstruktors dem Enum innerhalb der Myclass Daten hinzu? Wie in:
%Vor%, damit die enum innerhalb der Klasse die Eigenschaften "Montag, Freitag" erhält.
2) Kann man auch eine Eigenschaft für einen Enumer in der Klasse erstellen, nachdem sie initialisiert wurde? Zum Beispiel:
%Vor%BEARBEITEN:
Was ich machen möchte, ist Folgendes:
Haben Sie ein enum in der Hauptklasse, wie enum Tage {Montag, Dienstag, Mittwoch, Donnerstag, Freitag};
Ich hätte auch etwas in der Myclass (enum?), so dass ich einige Werte von Days enum bis myclass internal (enum?) mit nur einigen, aber nicht allen Werten im Days enum zuweisen kann.
Damit kann ich eine Myclass bekommen, die eine (enum?) mit "Montag, Dienstag" enthält, während einige Myclass222 (enum?) "Friday" usw. enthält.
Ich weiß nicht, ob die Enum die richtige Methode ist, dies innerhalb der Myclass-Klassen zu tun?
Ihre Frage ist etwas vage, aber wenn Sie tatsächlich fragen, wie Sie ein Enum konstruieren, wo die Werte kombiniert werden können, ist die Antwort, es mit dem Flags
Attribut:
Wenn Sie jetzt ein Mitglied vom Typ Days
haben, können Sie ihm einen kombinierten Wert zuweisen:
Aktualisieren
Auf Anfrage; So prüfen Sie, ob ein bestimmter Wert eingestellt ist:
Als Antwort auf die Frage, wie man ein Mitglied der Enumeration in einer Klasse erstellt, wenn die Enumeration in einer anderen Klasse definiert ist, würde das so aussehen:
%Vor%1) Sie können nicht. Die Enumeration muss zum Zeitpunkt der Kompilierung definiert sein.
Es sieht so aus, als würden Sie stattdessen nach einer AttributeCollection suchen. (Sehen Sie sich die Antwort von Fredrik Mörk an, über die ich sprechen wollte;))
2) my.Days = Days.Tuesday
Kann nicht von der Frage erzählen, aber vielleicht beabsichtigen Sie so etwas:
Definieren Sie eine Aufzählung mit den Tagen
öffentliche enum Tage { Sonntag, Montag, . . . }
Erstellen Sie ein Listenattribut von Days in Ihrer Klasse
Das scheint das zu sein, was ich tun möchte. Die Frage ist, ob enum Days definiert ist in meiner "Hauptklasse", wie kann ich eine haben Mitglied von Days in einer anderen "Myclass" Klasse ", so dass ich verwenden kann myclass.someDays = Tage.Montag?
Nun vorausgesetzt, Ihre Hauptklasse ist mainClass und Sie haben apt Zugriffsperms zur Verfügung gestellt, dann abhängig von der Definition von enum, dh 1. Wenn es dann statisch ist myclass.someDays = mainClass.Days.Monday; 2. Andernfalls müssen Sie über ein Objekt von mainClass darauf zugreifen mainClass mc = neue mainClass (); myclass.someDays = mc.Days.Monday;