Если вы не знаете заранее определенный тип элемента управления, это невозможно.Класс должен быть производным от UserControl
, поэтому вы можете привести его к UserControl
, и у вас будет доступ к всем методам и свойствам этого класса .Если вам нужна какая-то специальная информация или функциональные возможности, чтобы все элементы управления были доступны, и вы должны быть в состоянии предположить, что они всегда присутствуют, вам придется написать собственный класс, производный от UserControl
, и требовать все пользовательские элементы управлениявместо этого вывести:
//all custom controls must inherit from this
public abstract class SpecialControlBase : UserControl
{
public abstract void DoSomethingSpecial();
}
Тогда вы можете привести все элементы управления во время загрузки к этому SpecialControlBase
и иметь доступ к методу DoSomethingSpecial
.
Но насколькокак наиболее специфичные члены класса, загруженного во время выполнения, подумайте об этом - если я напишу свой собственный элемент управления с именем RexsUserControl
и поместу его в ваше приложение, вы не сможете узнать, какие методы и поляЯ установил свой контроль, поэтому вы не можете написать какой-либо код, который бы конкретно ссылался на этих участников.