Это мой первый вопрос, поэтому я надеюсь, что смогу его четко сформулировать и, надеюсь, он не будет слишком ослепительно легким.BaseType базового типа
У меня есть следующий класс SubSim который проходит Sim, который простирающуюся MainSim. В совершенно отдельном классе (и в библиотеке) мне нужно проверить, прошел ли объект, проходящий через него, тип MainSim. Поэтому для проверки проверяется следующее:
Type t = GetType(sim); //in this case, sim = SubSim if (t != null) { return t.BaseType == typeof(MainSim); }
Очевидно t.BaseType собирается вернуть Sim так Type.BaseType получает тип, от которого текущий тип непосредственно наследуется.
Короткие того, чтобы сделать t.BaseType.BaseType получить MainSub, есть ли другой способ, чтобы получить нужный тип с помощью библиотеки .NET? Или есть переопределения, которые можно переопределить, чтобы вернуть основной класс?
Спасибо заранее
Мне нравится этот рекурсивный метод, и я думаю, что попробую это вместо моего решения. Спасибо! – 2008-10-21 17:11:30