Задать вопрос
@gadpaw

Как создать свойство с помощью CodeDom?

Я создаю некоторые тип с помощью CodeDom. Добавляю свойства из некоторого списка. Но есть одно "ключевой" свойство, которое содержит конкатенацию из других ранее добавленных свойств. Как добавить такое свойство?

Пример, список свойств -> A1, A2, A3 ... Я создаю поля a1, a2, a3 ... и сами св-ва A1, A2, A2 ...:
CodeMemberField field = new CodeMemberField(type, fieldName);
                helperClass.Members.Add(field);

                CodeMemberProperty property = new CodeMemberProperty();
                property.Name = buffProperty.Key;
                property.Type = new CodeTypeReference(type);
                property.Attributes = MemberAttributes.Public;
                property.GetStatements.Add(new CodeMethodReturnStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), fieldName)));
                property.SetStatements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), fieldName), new CodePropertySetValueReferenceExpression()));
                helperClass.Members.Add(property);

Примерно так.

Мне необходимо сгенерировать св-во, вида:

public override string Key
{
     get { return A1 + A2 + A3; }
}

Как это можно сделать?
  • Вопрос задан
  • 103 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
Nipheris
@Nipheris Куратор тега C#
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы