如何延迟在Asp.net用户控件中指定T的需要?
本文关键字:控件 用户 何延迟 延迟 net Asp | 更新日期: 2023-09-27 18:05:50
我的困境:
- 我有一个POCO:"ReportSource"是通用的。 我有一个用户控件包装一些报表构建逻辑。
- 我的用户控件定义了一个ReportSource属性,但它最终将是调用用户控件分配该ReportSource属性的页面的工作。
如何在不指定T的情况下定义用户控件中的属性?顺便说一句,我尝试(只是为了云鸟)让用户控制通用…结果很糟糕。
public ReportSource<T> ReportSource {get; set;}
(注意,我已经标记为c#和VB.net…c#是我的标准,但我不得不处理w/legacy…
您可以将T
特定的逻辑移动到非通用的ReportSource
中吗?这"延迟"了指定T的需要,直到调用者特别需要T
或直到ReportSource
需要T
。换句话说,ReportSource
将具有接受T
的泛型方法,否则将完全封装或隐藏T
。
如果你的控件不知道T,那么它就不能利用它。
也许您可以通过为ReportSource<T>
声明一个非泛型接口来解决问题,其中包括控件需要利用的部分?