Создать файл .cs для включения в другой проект - PullRequest
0 голосов
/ 27 апреля 2018

В настоящее время я работаю над проектом, в котором есть несколько классов, которые должны отображаться друг на друга. Отображение очень простое, но я всегда теряю много времени на создание чего-то вроде этого:

void ConvertA1ToA2(A1 arg1, A2 arg2)
{
   arg1.SomeField = arg2.SomeOtherField;
   //A lot more fields with basic conversions and naming slightly deferring
}

void ConvertA2ToA1(A2 arg1, A1 arg2)
{
   arg1.SomeOtherField = arg2.SomeField;
   //A lot more fields with basic conversions and naming slightly deferring
}

Чтобы избежать этого, я пытался создать инструмент, который получит путь к DLL, будет искать классы с пользовательским атрибутом, получая параметр с именем преобразования класса. После этого я буду искать атрибуты для другого настраиваемого атрибута, ища соответствующее поле. После всего этого я бы сгенерировал .cs, который я бы включил в проект вручную, и поэтому пропустил много времени, выполняя тезисы.

В настоящее время я успешно загружаю DLL и правильно выполняю поиск пользовательских атрибутов, поэтому мой единственный последний шаг - создание файла .cs. Есть ли какая-нибудь библиотека, которая помогла бы мне с этим? Или я должен использовать API StreamWriter по умолчанию?

EDIT:

Вот пример того, что я бы написал в классе:

    [ConvertibleClass(TargetClass = "TestDomain.A2")]
    public class A1
    {
        [ConvertibleProperty("Uid")]
        public int Id { get; set; }
    }


namespace TestDomain
{
    public class A2
    {
        public int Uid { get; set; }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...