Ich habe einen öffentlichen Auftrag für Ausstellungen in meinem Dienst, aber intern gibt es einige Unterschiede. In diesem speziellen Fall habe ich eine Zeichenfolgewertdomäne, die als Enumerator dargestellt wird. Die Domäne ist sowohl im öffentlichen als auch im internen Bereich dieselbe, aber die verwendeten Namen sind unterschiedlich und ich muss von einem zum anderen übersetzen. Zuerst dachte ich daran, mich an die Grundlagen zu halten und einen einfachen Schalter zu verwenden, aber dann dachte ich daran, einen Spiegel-Enumerator mit den internen String-Werten zu verwenden, die ich benötige, und ihn dann mit einem ToString() zu verwenden. Welches ist der effizienteste Weg, diese Dinge zu erledigen?
Enumerator
Code: Select all
public enum PublicDomain {
AAA = 0,
BBB = 1,
CCC = 2,
DDD = 3
}
private enum InternalDomain {
W = 0,
X = 1,
Y = 2,
Z = 3
}
Behalten Sie das Wesentliche
Code: Select all
string stringValue = null;
switch (publicEnumValue)
{
case PublicDomain.AAA:
stringValue = "W";
break;
case PublicDomain.BBB:
stringValue = "X";
break;
case PublicDomain.CCC:
stringValue = "Y";
break;
case PublicDomain.DDD:
stringValue = "Z";
break;
}
foo(stringValue);
Enumerator > Enumerator > ToString()
Code: Select all
private enum InternalDomain {
W = 0,
X = 1,
Y = 2,
Z = 3
}
foo(((InternalDomain)publicEnumValue).ToString());