Я довольно новичок в C#, и я изо всех сил старался найти уже ответный вопрос, похожий на мой, но я просто не мог получить ответы на мой вопрос.C# Проверка, является ли класс X, или унаследован от X
Итак, У меня есть класс «Экземпляр», который должен быть суперклассом для всех игровых объектов. Она имеет только для чтения ClassName свойство определяется как например:
public string ClassName
{
get
{
return this.GetType().Name;
}
}
И моя причина для этого вопроса является то, что я хочу иметь следующий метод, который будет возвращать истину, если текущий объект является экземпляром Classname, или если класс объекта наследуется от классаName.
public bool IsA(string className)
{
//TODO
}
Это должно быть рода- "рекурсивный", так что, если дело было: X: Class1: Class2: Class4 затем X.IsA (Class4) возвращает истинное
I Я посмотрел на методы типа object.GetType(), но я не понял решения.
Любые идеи?
Это должно быть рода- "рекурсивный", так что, если дело было: X: Class1: Class2: Class4 тогда X .IsA (Class4) вернет true – Elmub
Взято из принятого ответа в повторяющемся потоке: * 'is' возвращает' true', если экземпляр находится в дереве __inheritance __. * Соответствующая документация: [is (C# Reference)] (https: //msdn.microsoft.com/en-us/library/scekt9xw.aspx). – sstan
Да, я просто прочитал, что, но одна проблема все еще сохраняется, мой параметр - строка не класса – Elmub