0

ブレークポイントがクラスの外にあるのに、[クイック ウォッチ] ウィンドウにそのクラスのプライベート メンバーが表示されるのはなぜですか?

私のブレークポイントは ConsoleApplication.cpp にあります 私のクラスは XmlSignature.h で定義されています

これらのプライベート メンバーを確認できます: Transforms_Root_elementxmlDocument

これが私のクラスです:

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);
};

これは私が見ることができるものです:

ここに画像の説明を入力

4

1 に答える 1

1

これは機能であり、デバッグ時に役立ちます:-)。クラス メンバーの可視性はコンパイラによって確保され、オブジェクト指向プログラミングが適用されます。@Medinoc が観察したように、.net ランタイムは、クラスのプライベートおよび保護されたメモリが他のコンテキストからアクセスされるのを防ぎます。

いずれの場合でも、デバッガーはメモリに完全にアクセスでき、すべてのメンバー コンテンツを表示できます。

于 2015-03-20T15:09:53.643 に答える