重新广播现有控件
本文关键字:控件 广播 新广播 | 更新日期: 2023-09-27 18:21:33
是否有方法重铸现有控件?
例如,如果我们向上循环控制树,直到我们找到bob
类型的控制(显然这里没有对无限循环进行任何检查):
Control parentCtrl = this.parent;
do
(
if(parentCtrl.getType == typeof(bob)) { break; }
else { parentCtrl = parentCtrl.parent; }
) while (true)
// This is the bit...?
bob parentCtrl = (bob)parentCtrl; // <-- will not compile as `parentCtrl` has been defined already
我知道我可以做((bob)parentCtrl).ctrlSpecificAttribute = "whatever dude...";
,但我很懒,我想保存一些括号和按键。
唯一的解决方案是拥有单独的目标控件吗?
bob targetCtrl = (bob)parentCtrl;
"唯一的解决方案是单独控制目标吗?"
是的,因为不是每个Control
都是Bob
。
如果我使用varparentCtrl,然后重新生成它呢?或者有将两个对象用于同样的事情?
var
不是dynamic
,所以我不确定你想怎么做。但是,对于bob
和controls
,最好使用不同的变量。