макрос видимости
От: CodingUnit Россия  
Дата: 03.11.10 12:02
Оценка: -1 :)
Пришла идея макроса Visibility, который позволяет переопределить видимость членов класса, стоящих
после этого слова, как в С++, например:


class Test
{

[Visibility(Public)]

this() {}

Member1 : string;

Member2 : int;

}



сделал заготовку макроса, и идея работает, единственно есть сложности, это не работает на встроенных
типах, например на объявления type. Макрос реализуется с помощью модификации поля Attributes для
ClassMember для членов в typebuilder находящихся после аттрибута и до следующего объявления
макроса, вопрос теперь в том как модифицировать видимость
для вложенных типов, когда модифицируется в ClassMember видимость в Attributes, то типы все равно
остаются private, если менять в TypeBuilder для того типа который принадлежит члену, но
в TypeBuilder нет методов установки для Attributes. Было бы хорошо и для внешних классов сделать
такой макрос, но там работа только с TypeBuilder, может ли кто нибудь подсказать, кто сведущь
во внутренностях компилятора, как решить эту задачу?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.