Информация об изменениях

Сообщение Re[19]: На чем сейчас пишут UI в enterprise приложениях? от 17.12.2014 8:40

Изменено 17.12.2014 8:43 Serginio1

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

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


S>>Я мог бы использовать Intellisence, предупреждение об ошибке и рефакторинг

S>>как при записи так и при чтении.

S>Держи:

S>https://github.com/ekonbenefits/impromptu-interface
S>http://www.codeproject.com/Articles/742788/Dynamic-Interface-Implementation
Это уже проходили ProxyGenerator
Автор: Воронков Василий
Дата: 04.11.08


S>https://connect.microsoft.com/VisualStudio/feedback/details/526307/add-automatic-generation-of-interface-implementation-via-implementing-member

Это немного другое я предлагаю просто контракт только для Intellisence для контроля имен и получаемых типов. Ничего в CLR менять не надо.
Это почти тот же TypeScript

Если бы у меня был псевдоинтерфейс


DynamicInterface DyExpandoObject
{
  string Имя;
  int   Число;
  Func<string> ВСтроку; 

}


Я мог бы использовать Intellisence, предупреждение об ошибке и рефакторинг
как при записи так и при чтении.

var res = (DyExpandoObject)new ExpandoObject();
res.Имя = "Тест ExpandoObject";
res.Число = 456;
res.ВСтроку = (Func<string>) (() => res.Имя );

Только на уровне IDE.

Единственно, что при получении значения при использовании DyExpandoObject

int число=res.Число;
автоматически кастилось
int число=(int)res.Число;

Этого достаточно. Тогда и волки (контракт на уровне имен) и овцы (clr) целы
Re[19]: На чем сейчас пишут UI в enterprise приложениях?
Здравствуйте, Sinix, Вы писали:

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


S>>Я мог бы использовать Intellisence, предупреждение об ошибке и рефакторинг

S>>как при записи так и при чтении.

S>Держи:

S>https://github.com/ekonbenefits/impromptu-interface
S>http://www.codeproject.com/Articles/742788/Dynamic-Interface-Implementation
Это уже проходили ProxyGenerator
Автор: Воронков Василий
Дата: 04.11.08


S>https://connect.microsoft.com/VisualStudio/feedback/details/526307/add-automatic-generation-of-interface-implementation-via-implementing-member

Это немного другое я предлагаю просто контракт только для Intellisence для контроля имен и получаемых типов. Ничего в CLR менять не надо.
Это почти тот же TypeScript

Если бы у меня был псевдоинтерфейс


DynamicInterface DyExpandoObject
{
  string Имя;
  int   Число;
  Func<string> ВСтроку; 

}


Я мог бы использовать Intellisence, предупреждение об ошибке и рефакторинг
как при записи так и при чтении.

var res = (DyExpandoObject)new ExpandoObject();
            res.Имя = "Тест ExpandoObject";
            res.Число = 456;
            res.ВСтроку = (Func<string>) (() => res.Имя );

Только на уровне IDE.

Единственно, что при получении значения при использовании DyExpandoObject

int число=res.Число;
автоматически кастилось
int число=(int)res.Число;

Этого достаточно. Тогда и волки (контракт на уровне имен) и овцы (clr) целы/
DyExpandoObject это просто подсказка IDE какие свойства и методы может иметь динамик и на основании их использовать Intellisence, предупреждение об ошибке и рефакторинг