@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; }
}

Как это можно сделать?
  • Вопрос задан
  • 102 просмотра
Пригласить эксперта
Ответы на вопрос 1
Nipheris
@Nipheris Куратор тега C#
Ваш ответ на вопрос

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

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