是否可以在 .Net 3.5 中进行通用控件?

Is it Possible to Make a Generic Control in .Net 3.5?(是否可以在 .Net 3.5 中进行通用控件?)

本文介绍了是否可以在 .Net 3.5 中进行通用控件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我声明了以下通用用户控件:

I've got the following Generic usercontrol declared:

public partial class MessageBase<T> : UserControl
    {
        protected T myEntry;
        public MessageBase()
        {
            InitializeComponent();
        }
        public MessageBase(T newEntry)
        {
            InitializeComponent();
            myEntry = newEntry;
        }    
    }
}

但是编译器不允许我这样做:

But the compiler won't allow me to do this:

public partial class MessageControl : MessageBase<Post>
{
    public MessageControl()
    {
        InitializeComponent();
    }
}

如何在 C# 中创建通用用户控件?

How do I create a generic user control in C#?

推荐答案

试试这个

public partial class MessageControl : MessageControlBase
{    
    public MessageControl()    
    {
        InitializeComponent();    
    }
}

public class MessageControlBase : MessageBase<Post>
{}

让设计器工作的关键是你正在编辑的类的基类不能是泛型的.

The key to getting the designer to work is that the base class of the class you are editing must not be generic.

这篇关于是否可以在 .Net 3.5 中进行通用控件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:是否可以在 .Net 3.5 中进行通用控件?