definieren "nicht funktioniert" ... es funktioniert mit Sicherheit in C# (ich weiß nicht, ob die C++ Editor unterstützt - nur die folgende übersetzen, die arbeitet in C#, um herauszufinden, ;-P)
using System.Diagnostics;
[DebuggerDisplay("HiWorld={Bar}")]
class Foo
{
public string Bar { get; set; }
static void Main()
{
Foo foo = new Foo { Bar = "abc" };
// breakpoint and hover shows: HiWorld="abc"
}
}
ich nicht "tun" C++ nicht mehr, aber Reflektor sagt:
[DebuggerDisplay(S"HiWorld={Bar}")]
private __gc class Foo
{
// Methods
private: static void __gc* Main()
{
Foo __gc* <>g__initLocal0 = __gc new Foo();
<>g__initLocal0->Bar = S"abc";
Foo __gc* foo = <>g__initLocal0;
}
// Properties
[CompilerGenerated]
public: __property String __gc* get_Bar()
{
return this-><Bar>k__BackingField;
}
[CompilerGenerated]
public: __property void __gc* set_Bar(String __gc* value)
{
this-><Bar>k__BackingField = value;
}
// Fields
[CompilerGenerated]
private: String __gc* <Bar>k__BackingField;
};
Code-Schnipsel? Was scheitert? – Brian
Es zeigt nicht den benutzerdefinierten Text nur die üblichen: "Mitarbeiter = 0x058482f8 {Age = 46 Tracker = 0x0584f1cc NID = 14 ...}" –
Jetzt in Update2 VS2015 unterstützt. https://blogs.msdn.microsoft.com/vcblog/2016/02/12/natvis-for-ccli-available-to-preview-in-vs2015-update-2/ – Jordan