Lassen Sie uns sagen, ich habe eine enum BasicType
, die wie folgt definiert ist:Union von Enum-Mitglieder in C#
public enum ObjectType{
A = 1,
B = 2,
C = 3,
}
Die Basictype identifiziert führt eine ternäre Einstufung eines Object
. Anschließend stellte ich fest, dass die Objekte A und B Bedarf in ähnlicher Weise behandelt werden, im Vergleich zu C, so definiert ich eine andere enum ObjectGroupType
wie folgt:
public enum ObjectGroupType
{
AB = 1,
C = 2,
}
Mit dem neuen Enum, ich Ich bin in der Lage, Objekte mehrerer bekannter Typen als einen zu gruppieren. Wenn ich also einen Strom von Objekten in verschiedenen Typen erhalte, identifiziere ich tatsächlich, ob sie zum AB- oder C-Typ gehören. Gibt es dafür einen eleganten Workaround? Zum Beispiel werde ich die gleichen Enum-Werte für A und B in den ObjectGroupType
übertragen kann:
Edit 1: Ich bin nicht in der Lage, die Ähnlichkeit mit der Frage here
Edit 2 zu finden : Danke Maurice für deine konstruktiven Inputs - indem du Hinweise aus deiner Antwort nimmst, kam ich auf diese neu definierte ObjectGroupType
.
public enum ObjectGroupType
{
AB = ObjectType.A | ObjectType.B
C = 2,
}
Ist das gültig?
Im Wesentlichen, wenn ich einen Strom von Objekten des Typs AB verarbeite, möchte ich Typ A oder Typ B Objekte feststellen. Das ist ganz ähnlich wie ein hierarchischer Zwei-Ebenen-Entscheidungsbaum:
object
/ \
AB C
/\
A B
Haben Sie ein funktionierendes Beispiel dafür, wie Sie möchten, dass diese 'enum' benutzen? – Jace
Warum hast du Java getaggt? – ganesshkumar
Dies scheint wie ein Duplikat von https://stackoverflow.com/questions/8043027/non-unique-enum-values – Olathe