Макрос для генерации свойств
От: Visor2004  
Дата: 25.01.12 18:09
Оценка:
Что за фигня с сайтом? третий раз создаю тему в Nemerle, а она оказывается в .NET GUI

Еще раз: почитав статьи про макросы, я так понял, что на сегодняшний день нет возможности написать макрос, который определяет свой синтаксис объявления свойств? мне хочется сделать что-то типа такого:

class Test
{
   UIProperty Caption : string
   {
      get;
      set;
      changed 
      { 
         when ( old != value )
         {
            RaiseNotification ( );
         }
      }
      validate
      {
         !string.IsNullOrEmpty ( value )
      }
   }
}



Должно разворачиваться как-то так:


class Test
{
   mutable caption : string;
   def captionValidate : ValidateCallback;
   def captionChanged : ValidateCallback;

   [ VisualProperty ]
   public Caption : string
   {
      get { caption }
      set
      {
         when ( caption != value )
         {
            when ( captionValidate != null && captionValidate ( this, value ) )
               caption = value;
            when ( captionChanged != null )
              captionChanged ( this, caption )
         }
      }
   }

   private static OnCaptionPropertyChanged ( sender : Test, newValue : string ) : void
   {
      sender.RaiseNotification ( )
   }

   private static OnCaptionValidate ( sender : Test, newValue : string ) : bool
   {
      !string.IsNullOrEmpty ( newValue )
   }
}
Помните!!! ваш говнокод кому-то предстоит разгребать.
Re: Макрос для генерации свойств
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.01.12 00:40
Оценка:
Здравствуйте, Visor2004, Вы писали:

V>Что за фигня с сайтом? третий раз создаю тему в Nemerle, а она оказывается в .NET GUI


Почисть куки. Видимо у тебя что-то в них попортилось.

V>Еще раз: почитав статьи про макросы, я так понял, что на сегодняшний день нет возможности написать макрос, который определяет свой синтаксис объявления свойств? мне хочется сделать что-то типа такого:


Сделать можно, но с интеллисенсом будет труба (его не будет).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Макрос для генерации свойств
От: Visor2004  
Дата: 26.01.12 08:03
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Сделать можно, но с интеллисенсом будет труба (его не будет).


А так, чтобы он был можно будет в Н2, правильно?
Помните!!! ваш говнокод кому-то предстоит разгребать.
Re[3]: Макрос для генерации свойств
От: Ziaw Россия  
Дата: 26.01.12 08:35
Оценка:
Здравствуйте, Visor2004, Вы писали:

V>А так, чтобы он был можно будет в Н2, правильно?


Можно и в Н, но требует неслабых переделок в интеграции.
Re[4]: Макрос для генерации свойств
От: Visor2004  
Дата: 26.01.12 11:12
Оценка:
Здравствуйте, Ziaw, Вы писали:

Z>Можно и в Н, но требует неслабых переделок в интеграции.


Этот way не для меня, подожду Н2
Помните!!! ваш говнокод кому-то предстоит разгребать.
Re[5]: Макрос для генерации свойств
От: Аноним  
Дата: 26.01.12 11:13
Оценка:
Здравствуйте, Visor2004, Вы писали:

V>Здравствуйте, Ziaw, Вы писали:


Z>>Можно и в Н, но требует неслабых переделок в интеграции.


V>Этот way не для меня, подожду Н2


ждать надо будет 3-5 лет
Re[6]: Макрос для генерации свойств
От: Visor2004  
Дата: 26.01.12 11:52
Оценка:
Здравствуйте, Аноним, Вы писали:

А>ждать надо будет 3-5 лет


у вас есть какой-то официальный roadmap? если просто поболтать, то я считаю, что либо рОдиться что-то юзабельное уже через год-два, либо заглохнет совсем. Причем моя точка зрения такова не только для Nemerle, а вообще для всех проектов, которые делаются на энтузиазме, но это уже offtopic, давайте не будем обсуждать это.
Помните!!! ваш говнокод кому-то предстоит разгребать.
Re[7]: Макрос для генерации свойств
От: catbert  
Дата: 27.01.12 21:44
Оценка:
Здравствуйте, Visor2004, Вы писали:

V>у вас есть какой-то официальный roadmap? если просто поболтать, то я считаю, что либо рОдиться что-то юзабельное уже через год-два, либо заглохнет совсем. Причем моя точка зрения такова не только для Nemerle, а вообще для всех проектов, которые делаются на энтузиазме, но это уже offtopic, давайте не будем обсуждать это.


http://code.google.com/p/nemerle-2/wiki/PlanOfWork
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.