Это может быть глупый вопрос, но я хотел бы знать, есть ли способ, которым я мог бы сделать это.
Чтобы упростить процесс импорта большого количества файлов, разделенных пробелом, я придумал простую схему описания макета в динамическом типе и выбросил его в анализатор, который вызывает делегат.
Макет выглядит так:
var layout = new
{
Code = new SDFColumn() { Start = 0, Length = 20 },
Name = new SDFColumn() { Start = 20, Length = 3 }
// etc
};
Все отлично работает. Сейчас я нахожусь в ситуации, когда мне нужно импортировать 2 очень больших SDF, структура которых на 85% идентична, за исключением нескольких различий в конце.
Есть ли способ добавить макет одного к другому, например:
var layoutCommon = new
{
/* Common fields */
};
var layoutFile01 = new
{
/* Changes for first file type */
};
var layoutFile02 = new
{
/* Changes for the second file type */
};
var finalLayout = /* ??? */;
Я понял, что ничего не получится, это:
var completeLayout = { };
if(file01)
completeLayout = { /* everything */ };
else
completeLayout = { /* everything */ };
Это не работает, очевидно, потому что все 3 типа принципиально различны.
Любые идеи будут оценены:)