Da C# nicht in der Lage ist switch
bei einem Typ (der, wie ich annehme, nicht als Sonderfall hinzugefügt wurde, weil is
Beziehungen bedeuten, dass mehr als eine bestimmte case
gelten könnte), gibt es eine bessere Möglichkeit, das Einschalten des Typs zu simulieren als diese?
void Foo(object o)
{
if (o is A)
{
((A)o).Hop();
}
else if (o is B)
{
((B)o).Skip();
}
else
{
throw new ArgumentException("Unexpected type: " + o.GetType());
}
}