Re: Как определить тип у поля класса?
От: Иванков Дмитрий Россия  
Дата: 12.10.07 16:09
Оценка: 71 (2)
Здравствуйте, Flem1234, Вы писали:

F>Читал туторил по макросам. Запустил пример который добавляет метод Serialize, используя сентябрьскую интеграцию со студией. Все работает, ура! Захотел добавить, чтобы сериализовались не только поля-значения, но и строки.

F>И не могу найти, как определить, что поле объявлено как строка...

 def IsStringField (x : IField) {
  Nemerle.Macros.Manager ().InternalType.String.Equals (x.GetMemType ());
 }

Как применить думаю понятно

F>P.S. А как вы пишете макросы? Документации очень мало, как боретесь с этим?

Сорец компилера + сорцы стандартных макросов.
На этом примере: хотим узнать что IField имеет тип string, из примера видно, что нам нужен GetMemType скорее всего. Вот откуда взять конкретный тип — нетривиально, посмотрев станд. макросы видим как скажем указывают тип Void, по аналогии делаем String, в общем все
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.