Описание тега impromptu-interface
ImpromptuInterface является основой для.net, который использует API в DLR, в обычно скрыто компилятором, для меты целей программирования, такие как добавление интерфейсов во время выполнения, позднее связывание с помощью API, Инлайн свободных Синтаксисов, Карринг и Pre-консервированный DynamicObjects.
Лицензия Apache доступна по адресу http://code.google.com/p/impromptu-interface/.
Примеры:
Добавление интерфейса во время выполнения:
//Dynamic Expando object
dynamic expando = Build<ExpandoObject>.NewObject(
Prop1: "Test",
Prop2: 42L,
Prop3: Guid.NewGuid(),
Meth1: Return<bool>.Arguments<int>(it => it > 5)
);
IMyInterface myInterface = Impromptu.ActLike(expando);
Поздняя привязка метода через API:
var relUri = Impromptu.InvokeMember(baseUri, "MakeRelativeUri", absUri);
Поддержка.NET Framework
ImpromptuInterface работает на.NET 4.0 или новее, Mono 2.10 или новее и Silverlight 4 или новее.
Пакет Nuget
Бинарный дистрибутив ImpromptuInterface на nuget находится по адресу http://nuget.org/packages/ImpromptuInterface.
Расширения
ImpromptuInterface также включает следующие расширения:
ImpromptuInterface.MVVM - метапрограммирование, позволяющее избежать шаблона MVVM
ImpromptuInterface.FSharp - api для использования DLR из F#