Получить значение атрибута типа
От: Flem1234  
Дата: 27.08.11 14:34
Оценка:
У меня есть макроатрибут, который анализирует тип, и на основании его полей строит метод.
У накоторых полей тип помечен атрибутом.
Как мне узнать значение этого атрибута?

[Nemerle.MacroUsage (Nemerle.MacroPhase.WithTypedMembers, Nemerle.MacroTargets.Class, Inherited = true)]
public macro Data (t : TypeBuilder)
{
   как узнать что поле b класса A имеет тип B который помечен атрибутом С со значением 10?
   Я почти все узнал, за исключением атрибута и его значения.
}

[Data]
class A
{
   public mutable b: B;
}

[S(10)]
class B
{
   public mutable M: int;
}

public class SAttribute : Attribute
{
    [Accessor]
    s: int;
}
Re: Получить значение атрибута типа
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.08.11 18:04
Оценка: 1 (1)
Здравствуйте, Flem1234, Вы писали:

F>Как мне узнать значение этого атрибута?


Использовать метод IMember.IsCustomAttributeDefined. IMember реализуется в том числе и TypeInfo. IsCustomAttributeDefined принимает полное имя атрибута.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.