Я хочу создать метод для получения значения из родительского элемента управления пользователя, но PropertyInfo
не может получить значение из родительского элемента управления и выдает исключение. Я думаю, что это происходит потому, что это не фактический тип объекта.Получить значение свойства от родительского элемента управления пользователя
Я использую .NET 2, поэтому я не могу использовать динамическое ключевое слово.
Есть ли способ сделать это?
public object GetFromPar(Control parent, string propertyName, Type parentType)
{
while (parent != null)
{
if (parent.GetType().IsSubclassOf(parentType))
{
PropertyInfo info = parent.GetType().GetProperty(propertyName);
return info.GetValue(parent, null);
}
else
{
parent = parent.Parent;
}
}
return null;
}
И вот как я называю эту функцию.
this.GetFromPar(this.Parent, "Name", typeof(InfoControl));
InfoControl - это пользовательский элемент управления, который был родительским элементом LoginPanelControl (this).
Заранее спасибо.
Какие исключения у вас есть. –
Исключение: TargetInvocationException InnerException: Указанное приведение недействительно. – LLF
@LastFrog Какая строка является исключением? –