В вб.net, Как узнать, имеет ли объект конкретное свойство - PullRequest
2 голосов
/ 06 января 2012

Я хочу сделать перевод рекурсивно для всех компонентов в моей форме. Так что моя функция начнется в форме. Перед рекурсией очевидно, что я должен знать, какое свойство, содержащее дочерние элементы, имеет текущий объект.

, например

  • если текущим объектом является myForm (тип: Form), он имеет свойство Controls as цель рекурсии
  • если текущим объектом является myLiv (тип: ListView), у него есть свойство Items в качестве цели рекурсии, которого нет есть свойство Controls.
  • и т.д.

Метод, который я хочу использовать, я проверю, имеет ли текущий объект свойство Items, если нет, проверит, имеет ли он свойство Tabs и т. Д. Затем, последний запасной вариант, проверим, имеет ли он свойство Controls.

Теперь сам вопрос, как я могу проверить, имеет ли текущий объект конкретное свойство? NB, не вызывая ошибки ...

1 Ответ

1 голос
/ 06 января 2012

Вы можете использовать отражение, чтобы сделать это, но это означает, что вы получите удар по производительности.

В качестве альтернативы вы можете сделать это с помощью оператора Is, чтобы проверить, какой у вас тип Object, и затем привести его к этому типу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...