Здравствуйте, Flem1234, Вы писали:
F>Читал туторил по макросам. Запустил пример который добавляет метод Serialize, используя сентябрьскую интеграцию со студией. Все работает, ура! Захотел добавить, чтобы сериализовались не только поля-значения, но и строки.
F>И не могу найти, как определить, что поле объявлено как строка...
def IsStringField (x : IField) {
Nemerle.Macros.Manager ().InternalType.String.Equals (x.GetMemType ());
}
Как применить думаю понятно
F>P.S. А как вы пишете макросы? Документации очень мало, как боретесь с этим?
Сорец компилера + сорцы стандартных макросов.
На этом примере: хотим узнать что IField имеет тип string, из примера видно, что нам нужен GetMemType скорее всего. Вот откуда взять конкретный тип — нетривиально, посмотрев станд. макросы видим как скажем указывают тип Void, по аналогии делаем String, в общем все