Если вы любите приключения, вы можете посмотреть на класс RealProxy в System.Runtime.Remoting.Messaging. Это позволяет вам реализовать прокси-класс, который может перехватывать вызовы ваших методов. Затем вы можете выйти из параметров и переадресовать вызов на ваш реальный класс.
Для этого будет хит производительности, но он, вероятно, даст вам то, что вы ищете ...