Tot*_*oto 26 c# generics user-controls
我想定义以下控件:
public partial class ObjectSelectorControl<T> : UserControl where T : class
Run Code Online (Sandbox Code Playgroud)
问题是设计师无法解决这个问题.这个问题有解决方法吗?
P.K*_*P.K 35
这有效
Run Code Online (Sandbox Code Playgroud)public class Control1<T> : UserControl { ... } public class Control2 : Control1<double> { ... } public class Control3 : Control2 { ... }
在这里读过:
http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/0c265543-d6f0-41f6-beeb-b89e0071c5c3
Fil*_*ara 11
听起来很像我们在项目中所做的.
有一个通用的基类:
public partial class controlItemList<TBaseItem, TBaseItemCollection> : UserControl, IUIDispatcher
where TBaseItem : new()
where TBaseItemCollection : IItemCollection<TBaseItem>
Run Code Online (Sandbox Code Playgroud)
然后,对于每次使用,我们定义一个非泛型版本(设计者仍然无法使用):
public class controlMessagesNonGenericParent : controlItemList<MailItem, MailItemCollection>
{
}
Run Code Online (Sandbox Code Playgroud)
...然后我们派生出可以在设计师中使用的控件:
public partial class controlMessages : controlMessagesNonGenericParent
{
...
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18414 次 |
最近记录: |