Описание тега impromptu-interface

ImpromptuInterface - это структура для.net, которая использует API DLR, обычно скрытый компилятором, для целей метапрограммирования, таких как добавление интерфейсов во время выполнения.

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 также включает следующие расширения: