Wenn ich eine object
Instanz und ich weiß, es ist eigentlich ein boxed Integer, dann kann ich einfach es zurück zu int wie diese:
object o = GetSomethingByName("foo");
int i = (int)o;
Ich weiß jedoch nicht, dass der Wert eine ganze Zahl ist. Ich weiß nur, dass er einer ganzen Zahl zugeordnet werden kann. Zum Beispiel könnte es eine byte
und der obige Code würde Folgendes auslösen InvalidCastException
in diesem Fall. Stattdessen müsste ich dies tun:
object o = GetSomethingByName("foo");
int i = (int)(byte)o;
Der Wert könnte auch ein short
oder etwas anderes, das einem int
. Wie kann ich meinen Code verallgemeinern, um all diese Fälle zu behandeln (ohne jede Möglichkeit einzeln zu behandeln)?