Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Оператор is / 4 сообщений из 4, страница 1 из 1
02.04.2013, 17:31
    #38209713
Thor234
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор is
Добрый день. Пытаюсь разобраться с оператором 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
02.04.2013, 17:44
    #38209748
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор is
Thor234, операторы as и is работают только с типами известными на момент компиляции. Тебе нужно использовать метод IsAssignableFrom:
Код: c#
1.
2.
3.
4.
5.
6.
public void IsType(Control control, Type controlType)
{
    if (controlType.IsAssignableFrom(control))
    {
    }
}
...
Рейтинг: 0 / 0
02.04.2013, 17:45
    #38209756
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор is
bazile, опечатка. Имелось в виду controlType.IsAssignableFrom(control.GetType())
...
Рейтинг: 0 / 0
02.04.2013, 21:41
    #38210061
Thor234
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор is
Понял, спасибо
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Оператор is / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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