Gibt es eine bessere Alternative, um den Typ einzuschalten?
Siehe als C # kann nichtSchalte auf einem Typ (der, wie ich erfahre, nicht als Sonderfall hinzugefügt wurde, weil is-a-Beziehungen bedeuten, dass mehr als ein unterschiedlichesFal trifft möglicherweise zu), gibt es eine bessere Möglichkeit, den Einschalttyp zu simulieren als dies?
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());
}
}