Ensure IDisposable-based Objects Can Be Proxied

Based on this article:   http://michaelbraude.com/2008/12/overriding-dispose-with-reflectionemit.html   This might be an issue. Ensure there's tests there for this case, and if it's an issue, addre...

Id #6809 | Release: None | Updated: Feb 12, 2013 at 10:34 PM by jasonrbock | Created: Dec 17, 2008 at 1:24 PM by jasonrbock

Use Remoting Infrastructure for MBROs

If the given type (abstract or non-sealed) inherits from MarshalByRefObject, use the Remoting infrastructure to create a proxy. This will allow virtuals and non-virtuals to be hooked. Consider addi...

Id #5469 | Release: None | Updated: Feb 12, 2013 at 10:34 PM by jasonrbock | Created: Jul 2, 2008 at 3:25 AM by jasonrbock

Support a Group of Interfaces

Change Proxy.Create() to take a List<> (or array) of interfaces. Create a proxy that implements all interface members (and handle collisions among the interfaces gracefully).

Id #5468 | Release: None | Updated: Feb 12, 2013 at 10:34 PM by jasonrbock | Created: Jul 2, 2008 at 3:23 AM by jasonrbock

Support Abstract Types

Self-explanatory. If Proxy.Create() gets an abstract type, create a proxy for it. Add before/after calls for abstract methods, but no-op the implementation in the proxy subclass (return the default...

Id #5467 | Release: None | Updated: Feb 12, 2013 at 10:34 PM by jasonrbock | Created: Jul 2, 2008 at 3:21 AM by jasonrbock

Consider Going From IInvocationHandler to Delegates (Or Making That Another Hooking Option)

Right now, the IInvocationHandler approach is not type-safe. That is, the arguments and return types are are declared as "object". Furthermore, the user may want to hook just a handful of methods. ...

Id #3888 | Release: None | Updated: Feb 12, 2013 at 10:34 PM by jasonrbock | Created: Feb 29, 2008 at 7:23 PM by jasonrbock

Add Better XML Documentation

Especially for IInvocationHandler - it's not at all clear what the bool return values should be.

Id #3886 | Release: None | Updated: Feb 12, 2013 at 10:34 PM by jasonrbock | Created: Feb 29, 2008 at 7:17 PM by jasonrbock

Address Serializable Types

I.e. I'm giving a Serializable type, how do I effectively implement that in the dynamic type? And if that's serialized, how (if it can) does it get deserialized into the base class type? Need to (p...

Id #3885 | Release: None | Updated: Feb 12, 2013 at 10:34 PM by jasonrbock | Created: Feb 29, 2008 at 7:16 PM by jasonrbock

Ensure All Locals Have Meaningful Names

Self-explanatory :)

Id #3884 | Release: None | Updated: Feb 12, 2013 at 10:34 PM by jasonrbock | Created: Feb 29, 2008 at 7:16 PM by jasonrbock

Check Opcodes for Short Form Usage

I don't think I'm being as aggressive as I can be with using "short form" opcodes. I need to review the emitting code to see if there's any places for this kind of optimization.

Id #3883 | Release: None | Updated: Feb 12, 2013 at 10:34 PM by jasonrbock | Created: Feb 29, 2008 at 7:15 PM by jasonrbock

Consider Overriding Finalizers

Since finalizers can be overriden, consider having the proxy override them if it sees them.   I think I do this by default anyway, but I should investigate if this should continue to work this way,...

Id #3882 | Release: None | Updated: Feb 12, 2013 at 10:34 PM by jasonrbock | Created: Feb 29, 2008 at 7:14 PM by jasonrbock

  • 1-10 of 10 Work Items
    • Previous
    • 1
    • Next
    • Showing
    • 10
    • Work Items