65.9K
CodeProject 正在变化。 阅读更多。
Home

ASP.NET 通过程序化方式加载 WebUserControl 并使用反射调用方法

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2010年10月15日

CPOL
viewsIcon

6488

为什么需要调用动态加载的 Web 用户控件中的方法

或许你应该稍微解释一下这个技巧的背景。
例如,为什么你需要调用需要动态加载的 Web 用户控件上的方法?

有三个问题

  1. 在我看来,这是一种代码异味:显然,控件包含被其他控件外部方法使用的逻辑。因此,更好的解决方案是将该逻辑封装到控件外部的可重用组件中,这样就不需要动态加载该 webcontrol 了。
  2. 大部分示例代码演示了反射的使用,而反射并非 Web 控件独有的,因此,有点偏离了这个技巧/窍门的重点。
  3. 在我看来,使用反射也是一种代码异味。 尽可能避免动态执行方法(没有编译时类型检查),因为它可能会引入运行时错误并降低可维护性:代码变得更难阅读和理解。

历史

  • 2010年3月12日:初始版本

====================================
仅仅因为你能做到,并不意味着你应该这样做。

© . All rights reserved.