Asp.net 自动回写接口

Asp.net 自动回写接口,asp.net,properties,interface,Asp.net,Properties,Interface,我正在创建一组Web用户控件,这些控件将共享一个公共基类。基本控件将始终包含一个网络控件,可以是文本框、下拉列表、复选框列表、RadioButtonList、列表框,也可以是其他控件,还可以包含一个RequiredFieldValidator。一切都很好,只是我定义为WebControl类型的抽象InputControl属性似乎没有我希望它们都具有的AutoPostBack属性,我假设这是因为并非所有WebControl都支持AutoPostBack。我希望将此功能完全放在基类中,而不必在每个子

我正在创建一组Web用户控件,这些控件将共享一个公共基类。基本控件将始终包含一个网络控件,可以是文本框、下拉列表、复选框列表、RadioButtonList、列表框,也可以是其他控件,还可以包含一个RequiredFieldValidator。一切都很好,只是我定义为WebControl类型的抽象InputControl属性似乎没有我希望它们都具有的AutoPostBack属性,我假设这是因为并非所有WebControl都支持AutoPostBack。我希望将此功能完全放在基类中,而不必在每个子类中定义它。它看起来像:

public abstract WebControl InputControl { get; set; }
public bool AutoPostBack {
    get { return InputControl.AutoPostBack; }
    set { InputControl.AutoPostBack = value; }
}

但这显然行不通,因为自动回发不是WebControl的属性。是否可以指定另一个接口来支持此功能,或者是否需要创建自己的接口?

autopostback不在任何基类中,因为只有一些控件需要autopostback属性。你能做的就是使用泛型

 public class MyBaseUC<T> : System.Web.UI.UserControl
    {
        public abstract T InputControl { get; set; }


    }


   public partial class WebUserControl1 : MyBaseUC<TextBox>
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            InputControl.AutoPostBack = false;
        }
    }
问候