2

我有一个MyDataRow派生自的类DataRow,这是我的代码:

public partial class MyDataRow : DataRow
{
    internal MyDataRow(DataRowBuilder builder)
        : base(builder)
    {
        // Initialization of variables
    }
}

该类是部分的并且没有成员,因为它部分存在于 proto 文件中(成员也在那里定义)。

尝试构建它会产生错误 CS1729: 'System.Data.DataRow' does not contain a constructor that takes 0 arguments。我有点没有想法,因为我用: base(builder).

我错过了什么?:)

编辑:根据要求,这是原型部分:

message SampleDataRow
{
    enum SomeEnum
    {
        ImAValue    = 1;
        MeToo       = 2;
    }

    // Some more enums...

    optional double    _member1    = 30 [default = 0];
    optional double    _member2    = 31 [default = 0];

    // More members...
}
4

1 回答 1

0

Protocol Buffers 为我的部分类的 proto 部分创建了一个没有参数的默认构造函数,这导致了这个错误。感谢 Matthew Watson 指出这一点。

在我的情况下,废弃这个类的 C#-half 而只使用原型定义将是一个可行的解决方案。

于 2013-05-06T10:09:00.883 回答