Why does Ninject.Extensions.Interception require all methods and properties be virtual?
I am guessing it overrides
the members to provide the AOP
functionality but couldn't this be implemented by calling methods before and after the method to intercept? Even in the case of a replace, the original method could be wrapped to do something else or nothing.
Do other containers require members be virtual
? Which do and which don't. If any don't? How do they work?