重建一个现有的控件?

时间:2013-07-09 09:21:19

标签: c# asp.net

有没有办法重铸现有的控件?

例如,如果我们循环控制树,直到我们找到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;

1 个答案:

答案 0 :(得分:1)

  

“是唯一具有单独目标控制的解决方案吗?”

是的,因为不是每个Control 都是 Bob

  

如果我使用var parentCtrl然后重铸那该怎么办?或者在那里   使用两个对象最终的性能/内存影响   同样的事情?

var不是dynamic,所以我不确定你想怎么做。但是,对bobcontrols使用不同的变量肯定会更好。