Hey All,

I'm wondering if I'm able to have create generic user controls in .net
2.0 much like one can create generic classes.

I would like to do this so that I can handle a set a types derived from
the same base type within a user control

Consider the following scenario:

* I create a base user control that contains a generic <ItemType>.
* Note: there exists a where clause referencing a specific base type
(see code below).
* Displays info associated to base class via specific methods.
* I derive another user control from this base control with a concrete
type
* Derived control now displays info associated with the concrete
type.

Please let me know the following:

* If this is possible
* If you have done this, what caveats exist
* Point me to any online references about the topic

Cheers,
peter

Code
=============================
== BASE USER CONTROL ==
namespace GenericWinformTest
{
public partial class UserControl1<ItemType> : UserControl
where ItemType : Animal, new()
{
internal Animal itype;
public UserControl1()
{

InitializeComponent();
itype = new ItemType();
}

private void talk_Click(object sender, EventArgs e)
{
this.textBox1.Text = itype.talk();
//talk
}
}//end class
}//end namespace

== Derived user control ==
namespace GenericWinformTest
{
public partial class dog : UserControl1<type.Dog>
{
public dog()
{

InitializeComponent();

}
}//end class
}//end namespace

Re: Able To Have Generic User Controls in .net 2.0? / Winforms and Generics by Bob

Bob
Tue Feb 28 06:27:44 CST 2006

Shades of ATL there...;-)

Personally I thing ATL was an absolutely horrible thing. I sincerely hope it
never comes back.


"Peter Nofelt" <pcnofelt@gmail.com> wrote in message
news:1141081382.530111.22860@v46g2000cwv.googlegroups.com...
> Hey All,
>
> I'm wondering if I'm able to have create generic user controls in .net
> 2.0 much like one can create generic classes.
>
> I would like to do this so that I can handle a set a types derived from
> the same base type within a user control
>
> Consider the following scenario:
>
> * I create a base user control that contains a generic <ItemType>.
> * Note: there exists a where clause referencing a specific base type
> (see code below).
> * Displays info associated to base class via specific methods.
> * I derive another user control from this base control with a concrete
> type
> * Derived control now displays info associated with the concrete
> type.
>
> Please let me know the following:
>
> * If this is possible
> * If you have done this, what caveats exist
> * Point me to any online references about the topic
>
> Cheers,
> peter
>
> Code
> =============================
> == BASE USER CONTROL ==
> namespace GenericWinformTest
> {
> public partial class UserControl1<ItemType> : UserControl
> where ItemType : Animal, new()
> {
> internal Animal itype;
> public UserControl1()
> {
>
> InitializeComponent();
> itype = new ItemType();
> }
>
> private void talk_Click(object sender, EventArgs e)
> {
> this.textBox1.Text = itype.talk();
> //talk
> }
> }//end class
> }//end namespace
>
> == Derived user control ==
> namespace GenericWinformTest
> {
> public partial class dog : UserControl1<type.Dog>
> {
> public dog()
> {
>
> InitializeComponent();
>
> }
> }//end class
> }//end namespace
>