powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Оператор is
4 сообщений из 4, страница 1 из 1
Оператор is
    #38209713
Thor234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Пытаюсь разобраться с оператором is, что-то не пойму один момент. Объясню на академическом примере: есть метод в который передаю экземпляр класса Control и тип, в методе хочу их проверить на совместимость оператором is, но компилятор ругается. Что делаю не так?
Код: c#
1.
2.
3.
4.
5.
public void IsType(Control control, Type controlType)
{
    if (control is controlType)
        MessageBox.Show(true.ToString());
}
...
Рейтинг: 0 / 0
Оператор is
    #38209748
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Thor234, операторы as и is работают только с типами известными на момент компиляции. Тебе нужно использовать метод IsAssignableFrom:
Код: c#
1.
2.
3.
4.
5.
6.
public void IsType(Control control, Type controlType)
{
    if (controlType.IsAssignableFrom(control))
    {
    }
}
...
Рейтинг: 0 / 0
Оператор is
    #38209756
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile, опечатка. Имелось в виду controlType.IsAssignableFrom(control.GetType())
...
Рейтинг: 0 / 0
Оператор is
    #38210061
Thor234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понял, спасибо
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Оператор is
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]