Доизучался ФП
Oct. 11th, 2009 10:17 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Кусок проги на C#
//фактически, мы делаем следующее: из конструктора/инициализатора с N параметрами мы
//делаем его же(хотя формально это уже не конструктор, а просто функция), но с нулем
//параметров, методом замыкания N параметров конструктора на локальные переменные
//в анонимном делегате.
public delegate T UIStateConstructor<T>() where T:UIStateBase;
public delegate T UIResourceConstructor<T>() where T:class;
Жаль, фреймворк не 3.5, там подобные штуки делать проще стало, менее многословно.
//фактически, мы делаем следующее: из конструктора/инициализатора с N параметрами мы
//делаем его же(хотя формально это уже не конструктор, а просто функция), но с нулем
//параметров, методом замыкания N параметров конструктора на локальные переменные
//в анонимном делегате.
public delegate T UIStateConstructor<T>() where T:UIStateBase;
public delegate T UIResourceConstructor<T>() where T:class;
Жаль, фреймворк не 3.5, там подобные штуки делать проще стало, менее многословно.
Re: Боюсь прослыть невежей, но всё же...
Date: 2009-10-11 12:38 pm (UTC)