C# 派生恼人的ASP.NET类

C# 派生恼人的ASP.NET类,c#,asp.net,web-controls,C#,Asp.net,Web Controls,我想从System.Web.UI.WebControls.WebControl派生一个新类,但是我认为当您派生一个类时,您不会继承它的构造函数 这造成的困难是该类的一个构造函数有一个System.Web.UI.HtmlTextWriterTag类型的参数,该参数定义了所创建控件/元素的html标记,并且在该类被构造/初始化后无法设置该标记 有人对如何解决这个问题有什么建议吗?这应该有帮助: 只需遵循本速成课程,您就会看到它是多么简单。这应该会有帮助: 只需学习本速成课程,您就会发现它是多么简

我想从System.Web.UI.WebControls.WebControl派生一个新类,但是我认为当您派生一个类时,您不会继承它的构造函数

这造成的困难是该类的一个构造函数有一个System.Web.UI.HtmlTextWriterTag类型的参数,该参数定义了所创建控件/元素的html标记,并且在该类被构造/初始化后无法设置该标记

有人对如何解决这个问题有什么建议吗?

这应该有帮助:

只需遵循本速成课程,您就会看到它是多么简单。

这应该会有帮助:


只需学习本速成课程,您就会发现它是多么简单。

您需要将相同的构造函数添加到您自己的类型中。然后使用:base。。。调用基构造函数

public MyType(ParamClass a)
    :base(a)
{
}

您还可以在您的类型和基类型之间使用不匹配的签名,只要签名:base。。。匹配基类型构造函数的签名。但您只能使用表达式来定义传递给它的参数的值。因此,您可能需要使用一些静态助手方法。

您需要将相同的构造函数添加到您自己的类型中。然后使用:base。。。调用基构造函数

public MyType(ParamClass a)
    :base(a)
{
}
您还可以在您的类型和基类型之间使用不匹配的签名,只要签名:base。。。匹配基类型构造函数的签名。但您只能使用表达式来定义传递给它的参数的值。所以您可能需要使用一些静态助手方法。

像这样

public class MyWebControl: WebControl
{
    public MyWebControl(HtmlTextWriterTag tag) : base(tag) 
    {

    }               
}
像这样

public class MyWebControl: WebControl
{
    public MyWebControl(HtmlTextWriterTag tag) : base(tag) 
    {

    }               
}

派生基类时,也将派生基类构造函数。您可以将HtmlTextWriter类型传递给派生类ctr,并在派生类中将ctr定义为DervCtrHtmlTextWriter:baseHtmlTextWriter

当您派生基类时,还将派生基类构造函数。您可以将HtmlTextWriter类型传递给派生类ctr,并在派生类中将ctr定义为DervCtrHtmlTextWriter:baseHtmlTextWriter,但是我一定是瞎了眼,因为我在那页上看不到答案,也就是添加冒号来派生构造函数。您可以在派生类中创建参数化构造函数,然后在构造函数右侧调用:baseparameter,这会将参数传递给基构造函数。我认为这篇文章提供了更多的价值而不是简单地使用基类构造函数调用您已经获得了三次投票,但是我一定是瞎了眼,因为我在那页上看不到答案,也就是添加冒号来派生构造函数。您可以在派生类中创建参数化构造函数,然后在构造函数右侧调用:baseparameter,这会将参数传递给基构造函数。我认为这篇文章提供了更多的价值而不是简单地使用基类构造函数调用