Re: [Новая фича] Переопределение автоматического конструкто
От: evilbeaver  
Дата: 19.04.10 17:45
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Все привет.


VD>Реализовал следующую возможность.


VD>Если мы имеем класс с автоматически создаваемым конструкторо (например, с помощью макроса Record) или вхождение варианта, то раньше нельзя было создать конструктор с той же сигнатурой. Это приводило к тому, что во вхождениях вариантов нельзя было изменить логику конструирования объекта. Теперь если добавить к рукописному конструктору модификатор "new" и у сгенерированного конструктора не будет такого же модификатора, то компилятор предпочтет рукописный конструктор (точнее конструктор помеченный модификатором new). Пример:

VD>
VD>public variant X
VD>{
VD>  | A
VD>    {
VD>      x : int;
      
VD>      // this replace autogenerated (by Record macro) ctor
VD>      public new this(_x : int)
VD>      {
VD>        x = _x * 2;
VD>      }
VD>    }
VD>


VD>Соответствующий тест: redefine-generated-ctor.n.


Вот за это я пожалуй скажу спасибо. Очень не хватало лично мне данной фичи для вариантов. А в какой сборке эта фича доступна?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.