【问题标题】:Abstract class' constructor asks for a return type抽象类的构造函数要求返回类型
【发布时间】:2010-07-17 00:31:12
【问题描述】:

我不明白这里发生了什么,我从另一个项目中复制了这段代码(编译时没有问题),但是一旦我把它放到我自己的项目中,我在构造函数定义上遇到了一个编译器错误,说方法需要返回类型。

public abstract class BaseSqlRepository<T, InterfaceT, PrimaryKeyT>
        where T : class
        where InterfaceT : class
{
    protected EvalgridEntities DataContext;
    protected BaseSqlRespository(EvalgridEntities db)
    {
        this.DataContext = db;
    }
}

方法必须有返回类型。

我错过了什么?

【问题讨论】:

  • 呸,当我复制/粘贴它时,这是怎么发生的!? ._.
  • 不知道——但这就是问题所在(至少,如果这是真正的代码......)
  • 您可能粘贴得很好,然后将光标放在某个单词的中间,不小心按到了键盘上的“s”。

标签: c# constructor compiler-errors


【解决方案1】:

你拼错了。您的构造函数拼写为 BaseSqlRe sp ository。

改为:

protected BaseSqlRepository(EvalgridEntities db)
{
    this.DataContext = db;
}

由于命名不同,编译器将其视为方法,而不是构造函数。由于没有返回类型,你会得到错误:

方法必须有返回类型。

【讨论】:

    【解决方案2】:

    你有一个错字。您的类的名称是 BaseSqlRepository(所有拼写正确),但您的构造函数的名称是 BaseSqlRespository(中间有额外的 s)。

    【讨论】:

      【解决方案3】:

      您的代码中有错字。类的名字是BaseSqlRepository,但是构造函数的名字是BaseSqlReSpository。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-08-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-24
        • 1970-01-01
        • 2023-03-04
        相关资源
        最近更新 更多