Добавление в унаследованные элементы XML класса C # - PullRequest
1 голос
/ 19 марта 2019

Есть ли способ добавить дочерние классы в унаследованный класс?У меня есть огромный файл классов, который я пробежал через XSD к генератору файлов классов.Я бы предпочел не редактировать сгенерированный файл вручную каждый раз, когда производится обновление файла XSD.Можно ли как-нибудь унаследовать все члены сгенерированного файла и добавить его в дочерние классы?

Пример: если я хочу добавить строку Child_String2, как я могу это сделать?

   File1.cs
    namespace test
    {
        class AutoGenerated
        {
            string Parent_string { get; set; }
            public class Child
            {
                string child_string1 { get; set; }
                //I want to add string Child_String2 {get;set;} at this level in to ModifiedParent from file "MyAttempt.cs"
            }
        }
    }

   MyAttempt.cs
   namespace test
   {
       class ModifiedParent: Parent
       {
        Child.string child_string2{get;set;} 
       }
   }

Это, очевидно, не работает, но мы хотим добавить child_string2 в класс Child внутри Parent.

Есть ли способ сделать что-то подобное?

Первоначальная причина этого вопроса была в том, что мне нужно было сериализовать / десериализовать класс, к которому я добавляю.Если бы я унаследовал только от «Child», я мог бы назначить свой измененный «Child» внутри «Parent», но у сериализатора возникла бы проблема, так как он не ожидал child_string2.

Любые советы, предложенияили даже ссылки на решение этой проблемы были бы признательны.

Редактировать: Так что после обсуждения с коллегами и поиска в Интернете кажется, что мы не смогли найти какое-либо прямое решение.К сожалению, похоже, что лучший подход - это просто отредактировать файл Generated CS.У меня есть доступ к генератору, поэтому я решил, что лучше всего добавить несколько строк в генератор, чтобы вносить соответствующие изменения каждый раз, когда он генерируется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...