Überprüfen Sie, ob ein Objekt ein Typ oder ein Subtyp ist [Duplikat]
Sep 02 2020
Betrachten Sie den folgenden Code, der prüft, ob ein Objekt von einem bestimmten Typ ist:
public MyMethod(object myObject)
{
if (myObject.GetType() != typeof(MyClass))
{
throw new ArgumentException("The type is not MyClass");
}
}
Wie kann der Typ myObjectüberprüft werden, um Untertypen von zuzulassenMyClass ?
Antworten
3 JeremyLakeman Sep 02 2020 at 12:26
Verwenden Sie einfach den isOperator.
if (!(myObject is MyClass))
Wenn möglich, beschränken Sie den Argumenttyp, damit der Compiler diese Regel für Sie erzwingt.
public MyMethod(MyClass myObject)