В .NET вполне возможно получить доступ ко всему частному, используя отражение.
Например, получение доступа к частному экземпляру метода Foo на панели классов будет выглядеть так:
typeof(Bar).GetMethod("Foo",BindingFlags.NonPublic | BindingFlags.Instance);
однако требуется, чтобы код, использующий отражение, был полностью доверенным.
(требования безопасности для V4 будут другими)