从父用户控件获取属性值
本文关键字:属性 获取 控件 用户 | 更新日期: 2023-09-27 17:54:43
我想创建一个方法来从父用户控件获取值,但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)的父级用户控件。
提前感谢。
PropertyInfo info = (typeof(parent.GetType())).GetProperty(propertyName);
如果您知道父类的类型,您可以将其替换为parent. gettype()。