c# ramblings
Dec. 15th, 2009 10:37 amпочему в интерфейсе не может быть конструкторов? аррргх.
насчет “в языке нету синтаксиса” – делается на раз-два. ISomeType something= new<ISomeType> typeVariable(arg, arg2, arg3), например. И статический чекинг, и все тут, и не конфликтует ни с чем.
без синтаксиса делается тоже на раз-два, либо фабриками, либо рефлекшеном, но некрасиво это :/
У меня ностальгия по питоновой общности между constructors, factories и вообще callables…
no subject
Date: 2009-12-15 09:33 am (UTC)у меня пока были два определения:
- "трейт - это такой навороченный тип" (например, типу-группе неплохо бы иметь не только бинарную операцию, а и ноль там, единицу, ...)
- "трейт - это штука, которая позволяет расширить значение типа определенными свойствами". но теперь я думаю что это то ли mixin то ли вообще монада (если трейт может являться прокси-обьектом, как например здесь http://code.enthought.com/projects/traits/ )
короче, каша в голове у меня.