Skip to content

Releases: ekonbenefits/impromptu-interface

Core 3.0.1

03 Jul 14:01
Compare
Choose a tag to compare
  • Silverlight passes all unit tests
  • ImpromptuDictionary will also act like a dynamic proxy for any IDictionary<string,object> including nested IDictionary<string,object>
  • Added ImpromptuGet dynamic proxy that only exposes getters including Funcs as methods (works with anonymous objects).
  • Added Impromptu.FastDynamicInvoke(this Delegate del, params object[] args) runs about 20x faster than Delegate.DynamicInvoke(params object[] arg)
  • All Impromtu.Invoke functions leveraging the DLR run faster than reflection in Microsoft.net & Silverlight
  • Added readable convenience syntax for inline lambdas Return<T>.Arguments<T1,..>((T1,..)#> code) and ReturnVoid.Arguments<T1,..>((T1,..)#> code)

Core 2.0.0

03 Jul 14:00
Compare
Choose a tag to compare

Added functions to extremely late binding calls.

  • var result # Impromptu.InvokeMember(target, "name", arg1,...);
  • Impromptu.InvokeMemberAction(target, "name", arg1,...);
  • var result # Impromptu.InvokeGet(target, "name");
  • Impromptu.InvokeSet(target, "name", value);
    These calls can be used on static or dynamic objects.

Core 1.2.1

03 Jul 14:00
Compare
Choose a tag to compare
  • Basic Functionality of ActLike<Interface>()
    Plus some primitive base classes when using ImpromptuInterface.Dynamic;
  • ImpromptuObject --Similar to DynamicObject but the expected static return type from the wrapped interface can be queried.
  • ImpromptuFactory -- Functional base class, used to create fluent factories with less boilerplate
  • ImpromptuDictionary -- Similar to ExpandoObject but returns default of the static return type if the property has never been set.