It is not safe because you try to access methods at run time using "reflection". Use SecurityPermissionAttributes on your private methods for which you want to access. What is the reason behind accessing a private mthod. Do it public then. As a design rule, make things non-punlic if you don't neeed them or if you want to secure them. Have alook at .NET Reflector tool which disassembles any .NET assembly to it's original source code using reflection including of course the private ones. Which means you can access but this tool also shows how unsecure your private methods are. To call these methods, I've not tried actually but as I said, try to make them internal or private and add SecurityAttributes to ptotect. Hope this helps...