Один XSD на среду для классов C#.C#

Место общения программистов C#
Ответить
Anonymous
 Один XSD на среду для классов C#.

Сообщение Anonymous »

В прошлом году я боролся с этой дилеммой. Я прочитал много статей о SO, но не чувствую, что нахожусь на правильном пути.
Описание: третья сторона предоставляет моей компании XSD в течение трех лет. различные среды: тестирование, этап и производство. Элементы можно добавлять, удалять, изменять в разных средах, и мое программное обеспечение должно поддерживать все три среды.
Общая тема, которую я взял из статей, заключается в том, что я должен создать интерфейс, а затем просто создать класс. для каждой среды, которая наследуется от базового класса, и настраивайте разные вещи. Что ж, это нормально, если ваши классы просты, как в примере здесь. Однако мои классы довольно сложны и очень велики (по моим оценкам, на каждую среду приходится около 2800 отдельных подклассов и перечислений). Поскольку они предоставлены нам третьей стороной, как мне определить различия для создания интерфейса?
Моя недавняя попытка заключается в следующем, но мне кажется, что это неуклюже

Код: Выделить всё

using Test = Contractor.Xsd.v133;
using Stage = Contractor.Xsd.v132;
using Prod = Contractor.Xsd.v131;

namespace MyCompany
{
public interface ICar
{
}

public class CarTest : ICar
{
public Test.Car Car{ get; set; } // HUGE complex classes
}

public class CarStage : ICar
{
public Stage.Car Car{ get; set; } // HUGE complex classes
}

public class CarProd : ICar
{
public Prod.Car Car{ get; set; } // HUGE complex classes
}
}
Итак, если предположить, что подрядчик будет продолжать предоставлять XSD таким образом и ничего больше (такова ситуация), есть ли какие-нибудь предложения о том, как мне лучше определить свой интерфейс?

Подробнее здесь: https://stackoverflow.com/questions/784 ... rp-classes
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»