Преобразовать существующий атрибут в CustomAttributeBuilder для вставки в динамически генерируемый класс - PullRequest
1 голос
/ 15 ноября 2011

Я пытаюсь выяснить, что было бы наилучшим способом взять такой класс, как:

public class ModelX {
    [TheAttribute(1, "two")]
    [SomeOtherAttribute(Three.Four)]
    public string Foo {get;set;}

И скопируйте их на

public class DynamicallyCreatedModelX {
    [TheAttribute(1, "two")]
    [SomeOtherAttribute(Three.Four)]
    public string Foo {get;set;}

Я не то, что было бы оптимальным способом передачи данных из известного динамического класса.

1 Ответ

0 голосов
/ 03 июля 2013

установить атрибуты для свойств (или любых элементов) может быть так:

PropertyBuilder property = typeBuilder.DefineProperty(...);
property.SetCustomAttribute(new CustomAttributeBuilder(typeof(TheAttribute).GetConstructor(new Type[] { typeof(int), typeof(string) }), new object[] { 1, "two" }));
property.SetCustomAttribute(new CustomAttributeBuilder(typeof(SomeOtherAttribute).GetConstructor(new Type[] { typeof(Three.Four) }), new object[] { Three.Four }));
...