Хобрук: Ваш путь к мастерству в программировании

Получить BaseType из объекта в Xamarin.Forms

Я пытаюсь выяснить, относится ли object к типу Page. Если я запрашиваю GetType(), я получаю ContentPage, который является подклассом TemplatedPage, который является подклассом Page (который снова является подклассом VisualElement и так далее).

Мой текущий подход

if(parentElement.GetType() == typeof(Page))
{ 
    // do something
}

из этого не работает. Теперь я попытался получить BaseType, как показано в C#: как получить базовый класс класса?. Если я сделаю это

Type superClass = parentElement.GetType().BaseType;

я получил

Ошибка CS1061 «Тип» не содержит определения для «BaseType», и не удалось найти метод расширения «BaseType», принимающий первый аргумент типа «Тип» (вам не хватает директивы использования или ссылки на сборку?)

У меня есть пространство имен System, а также System.Reflection, и я все еще получаю эту ошибку. Можно ли получить BaseType в Xamarin.Forms?

22.09.2016

  • Что не так с if (parentElement is Page)? Почему вы вообще используете отражение для этого? 22.09.2016
  • Иногда это проще, чем я думал. Будете ли вы дать ответ или я должен удалить свой пост? 22.09.2016

Ответы:


1

Вы должны просто проверить это с помощью ключевого слова is. Это позаботится о тяжелой работе за вас.

Вот так: if (parentElement is Page) { DoStuffHere(); }

22.09.2016
Новые материалы

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

Обзор: Машинное обучение: классификация
Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

Разработка расширений Qlik Sense с qExt
Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..