为什么当断点超出该类时,我可以在快速监视窗口中看到我班级的私人成员?
我的断点在ConsoleApplication.cpp中 我的类在XmlSignature.h中定义
我可以看到这些私人会员: Transforms_Root_element , xmlDocument
这是我的班级:
ref class XmlReference
{
public:
XmlReference(String^ URI);
virtual ~XmlReference();
String^ URI;
XmlElement^ Reference_element;
String^ ns_ds = "http://www.w3.org/2000/09/xmldsig#";
XmlNode^ AddTransform(String^ strAlgorithm);
XmlNode^ AddTransform(String^ strAlgorithm, String^ strParameterName, String^ strParameter);
List<XmlNode^>^ Transforms = gcnew List<XmlNode^>;
private:
XmlNode^ Transforms_Root_element = nullptr;
XmlDocument^ xmlDocument;
//Called by AddTransform
XmlNode^ CreateTransformElement(String^ strAlgorithm);
};
这是我能看到的:
答案 0 :(得分:1)
这是一个功能,有助于调试:-)。 编译器确保类成员可见性以强制执行面向对象的编程。正如@Medinoc观察到的那样,.net运行时还可以保护类的私有和受保护内存不被其他上下文访问。
在任何情况下,调试器都可以完全访问内存,并可以显示所有成员内容。