-
Notifications
You must be signed in to change notification settings - Fork 44
UsageDynamic
Subclass of DynamicObject
but adds methods so that expected static return type from the wrapped interface can be queried.
Functional base class, used to create fluent factories when wrapped in an interface and no boilerplate.
Similar to ExpandoObject
but is NOT sealed and it can work as a proxy to any IDictionary<string,object>
. Also if wrapped in an interface can return default of the static return type when not set. ExpandoObject
is performance king, but DynamicObjects.Dictionary
offers more flexibility, so use appropriately. (FYI using dynamic calls to ExpandoObject
actually are equal/smidge faster than dynamic calls to a POCO object)
Abstract class forwards methods/properties/indexers to Target. Subclass to do extra work on each call.
Proxy that wraps static methods as instance methods, including the constructor using @new
.
See LateType
Subclass of ImpromptuForwarder
. If ActLike
is used will coerce result to interface. Works great with anonymous types.
Records dynamic invocations on to the recorder and can play back invocations on other objects.
Always returns something you want or returns something with the property you want.
Proxy that converts Extensions methods to dynamic instance methods.