Описание: третья сторона предоставляет моей компании 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
}
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... rp-classes
Мобильная версия