Что за фигня с сайтом? третий раз создаю тему в 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 )
}
}