Ваше использование его не является взломом, хотя как много вещей в C++, изменяемом , может быть взломом для ленивого программиста, который не хочет идти полностью назад и отмечать что-то, что не должно быть константой как неконстантой
In Java private members of inner/nested classes are accessible to the containing class. In C# they aren't.
I don't see why that should be allowed to compile. You are trying to access the private fields of a class from outside that class. Java, however, contains a special rule for nested classes that allows access from the outer class.
The accessibility levels in C# are as follows:
There is no special case in C# for nested classes, as a result you cannot access a private member from outside that class or any class deriving from that class.
You can find more information in the follow MSDN article: Accessibility Levels (C#)
Gilad Bracha argues that allowing outer classes access to the privates of nested classes breaks "the subsumption rule of type systems for OO languages."