DynamicProxy Strangeness

time to read 2 min | 216 words

Just when I need the mailing list, SourceForge seems to be down :-( Correction, not down, just slow as hellllll!!! What is worse, it doesn't sends the confirmations emails for goinging mailing lists!

Anyway, I encountered very strange stuff going on in DynamicProxy, I'm currently adding support for mocking classes in Rhino Mocks, and I found that DynamicProxy can create proxies for:

  • Interfaces
  • Concrete classes
  • Abstract classes that has no abstract methods

But it can't create proxies for:

  • Sealed classes - this is reasonable.
  • Abstract classes that has abstract methods - I just can't understand this. What is the difference between that and an interface? Or proxing a class' virtual method? This seems completely arbitary to me.

As I said, I can't access the SourceForge mailing lists right now, so I can't ask the DynamicProxy team, anyone has an opnion why this is?