首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Ektron.Cms.Content.Targeting.Rules.RuleTemplate继承时出错

从Ektron.Cms.Content.Targeting.Rules.RuleTemplate继承时出错
EN

Stack Overflow用户
提问于 2013-06-07 16:42:39
回答 1查看 30关注 0票数 0

我有一个名为MyCustomRuleTemplate的C#类,它继承自Ektron.Cms.Content.Targeting.Rules.RuleTemplate类。我添加了一个构造函数,如下所示

代码语言:javascript
复制
public MyCustomRuleTemplate(): base("someKey")
{
//Some code here
}

它工作正常,没有任何错误。如果我把它作为

代码语言:javascript
复制
public MyCustomRuleTemplate()
{
//Some code here
}

我得到了像'Ektron.Cms.Content.Targeting.Rules.RuleTemplate' does not contain a constructor that takes 0 arguments一样的错误。有没有人能告诉我为什么会这样?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-19 21:41:36

当使用第二个构造函数实例化您的类对象时,您看到“不包含接受0个参数的构造函数”的原因是因为当您调用构造函数时,c#也会尝试调用基类上的构造函数,在本例中,基类使用一个参数。

请参阅msdn上的这篇文章:

http://msdn.microsoft.com/en-us/library/ms173115%28v=vs.80%29.aspx

关键部分:

“在此示例中,基类的构造函数是在执行构造函数的块之前调用的。base关键字可以与参数一起使用,也可以不与参数一起使用。构造函数的任何参数都可以用作base的参数,或用作表达式的一部分。有关详细信息,请参阅base。

在派生类中,如果没有使用base关键字显式调用基类构造函数,则会隐式调用默认构造函数(如果有)。“

和:“如果基类不提供默认构造函数,则派生类必须使用base显式调用基构造函数。”

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16979801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档