linq 식에 대한 디버거 비주얼라이저를 작성하려고했습니다.디버거 비주얼 라이저 [Visual Studio 2010] - System.Linq.Expressions.Expression - 돋보기가 표시되지 않습니다.
저는 이미 알고 있지만, 제 자신을 만들고 추가 기능을 추가하고 싶습니다.
이 빠른 프로토 타입을 만들었습니다. 돋보기가 표시되지 않습니다. 그러나 한 줄의 코드를 "Target = typeof (System.String)"으로 변경하면 돋보기가 나타납니다.
도움을 주시면 감사하겠습니다.
using System.IO;
using System.Windows.Forms;
using Microsoft.VisualStudio.DebuggerVisualizers;
[assembly: System.Diagnostics.DebuggerVisualizer(
typeof(VisualizerPrototype.MyDebuggerVisualizer),
typeof(VisualizerPrototype.MyDebuggerVisualizerObjectSource),
Target = typeof(System.Linq.Expressions.Expression),
Description = "My Debugger Visualizer")]
namespace VisualizerPrototype
{
public class MyDebuggerVisualizer : DialogDebuggerVisualizer
{
protected override void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
{
var text = string.Empty;
using (var sr = new StreamReader(objectProvider.GetData()))
{
text = sr.ReadToEnd();
}
MessageBox.Show(text);
}
}
public class MyDebuggerVisualizerObjectSource : VisualizerObjectSource
{
public override void GetData(object target, System.IO.Stream outgoingData)
{
var sw = new StreamWriter(outgoingData);
sw.WriteLine("YO");
sw.Flush();
}
}
}
이 아마도 당신이 여러 대상을 적용 할 수
– leppie예, 모든 상속 된 유형에 대해 속성을 만드는 것이 해결 방법이지만 이상적인 해결책은 아닙니다. – BSick7