'BaseClass' не содержит конструктора, принимающего 0 аргументов. Частичный класс С#/Protobuf

У меня есть класс MyDataRow, который я получаю от DataRow, вот мой код:

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

Класс является частичным и не имеет членов, потому что он частично существует в прото-файле (члены также определены там).

Попытка построить это приводит к ошибке CS1729: 'System.Data.DataRow' не содержит конструктор, который принимает 0 аргументов. У меня немного нет идей, так как я вызываю это явно с помощью : 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...
}

person i know nothing    schedule 06.05.2013    source источник
comment
Не могли бы вы показать нам частичную часть класса и реализацию метода?   -  person It'sNotALie.    schedule 06.05.2013
comment
Я предполагаю, что у вас есть еще один конструктор где-то. Возможно, в другом файле (поскольку это частичный класс).   -  person CodesInChaos    schedule 06.05.2013
comment
Один только этот фрагмент строит для меня. Я считаю, что другая часть частичного класса имеет конструктор по умолчанию (или другой конструктор), который не вызывает конструктор базового класса (с одним аргументом).   -  person Matthew Watson    schedule 06.05.2013
comment
@MatthewWatson Возможно, ты прав. Я посмотрел в прото-сгенерированный CS-файл и там есть сгенерированный конструктор public MyDataRow() {}. Я думаю, что это неявно вызывает конструктор по умолчанию базового класса.   -  person i know nothing    schedule 06.05.2013
comment
@iknownothing Это определенно вызовет проблему. Я думаю, вы можете просто удалить его!   -  person Matthew Watson    schedule 06.05.2013


Ответы (1)


Protocol Buffers создает конструктор по умолчанию без аргументов для прото-части моего частичного класса, что приводит к этой ошибке. Спасибо Мэтью Уотсону за указание на это.

Отказ от C#-половины этого класса и вместо этого работа только с прото-определением было бы жизнеспособным решением в моем случае.

person i know nothing    schedule 06.05.2013