c# - "' BaseClass ' does not contain a constructor that takes 0 arguments."部分 C#/Protobuf 类

标签 c# constructor arguments radix datarow

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

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

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

尝试构建它会产生错误 CS1729:“System.Data.DataRow”不包含采用 0 个参数的构造函数。 我有点没有想法,因为我用 : base(builder) 明确地调用它。

我错过了什么? :)

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

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...
}

最佳答案

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

在我的案例中,放弃此类的 C# 部分并单独使用原型(prototype)定义将是一个可行的解决方案。

关于c# - "' BaseClass ' does not contain a constructor that takes 0 arguments."部分 C#/Protobuf 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16394567/

相关文章:

c# - 无法将 LINQ 查询结果转换为 ToList

c# - 让!在异步的 seq {...} 中不允许吗?

java - Android Java 类中是否需要声明上下文?

android - 为什么 Activity 的构造函数中的 getApplicationContext() 会抛出空指针异常?

Javascript 函数参数处理

javascript - 使用addEventListener时事件参数是如何传递的?

c# - 比较具有毫秒精度的日期时间

c# - 什么会使 PerformanceCounterCategory.Exists 无限期挂起?

java - 使用采用 Enum 的构造函数反射实例化类

string - Bash 在将字符串转换为参数时不解析引号