- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想知道是否可以让调试器显示 PropertyGrid 中类的文本?
我似乎无法在任何地方找到这个答案。
这是我所拥有的示例。
[DebuggerDisplay("FPS = {FPS}")]
[TypeConverter(typeof(ExpandableObjectConverter))]
public class DebugModule : Module
{
public int FPS {get; set;}
}
此模块包含在引擎类中,因此当我设置 propertyGrid.SelectedObject = engineInstance 时,我希望在属性网格中看到
Engine+ DebugModuel | "FPS = 60"FPS | 60
最佳答案
这个怎么样,它在调试器和 PropertyGrid
中显示相同的文本:
[DebuggerDisplay("{.}")]
[TypeConverter(typeof(ExpandableObjectConverter))]
public class DebugModule : Module
{
public int FPS { get; set; }
public override string ToString() { return "FPS = " + FPS; }
}
或者如果您需要将 ToString
用于其他用途:
[DebuggerDisplay("{DebugDisplayText}")]
[TypeConverter(typeof(DebugModuleConverter))]
public class DebugModule : Module
{
public int FPS { get; set; }
private string DebugDisplayText { get { return "FPS = " + FPS; } }
public class DebugModuleConverter : ExpandableObjectConverter {
public override object ConvertTo(ITypeDescriptorContext context,
System.Globalization.CultureInfo culture, object value,
Type destinationType) {
if(destinationType == typeof(string)) {
return ((DebugModule) value).DebugDisplayText;
}
return base.ConvertTo(context, culture, value, destinationType);
}
}
}
关于c# - 在 PropertyGrid C# 中显示 DebuggerDisplay,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3288304/
public class A { [DebuggerDisplay("{DDBpp1()}")] public byte[] Bpp = new byte[2]; public
我喜欢 DebuggerDisplay 属性。我非常喜欢它,所以我想在我没有源代码的类型上使用它。 这可能吗? 最佳答案 为外部类型设置 DebuggerDisplay 的示例 (System.Col
我正在寻找一个很好的具体示例,其中显然需要用某些东西覆盖 ToString(),但要使用 [DebuggerDisplay(...)]自定义属性以在调试器中显示其他内容? 最佳答案 例如,二叉树的 N
class A { public Color ColorA { get; set; } public Color ColorB { get; set; } public A(C
假设我有一个对象: [DebuggerDisplay("Bar={bar}")] public class Foo { public String bar{get;set;} } 当我只有一个
我在应用 DebuggerDisplay 时遇到问题通用类的属性: [DebuggerDisplay("--foo--")] class Foo { } [DebuggerDisplay("Bar:
有没有办法在运行时访问 DebuggerDisplayAttribute 显示的字符串? 对于我们的业务对象,我尝试获取有关异常处理的自动调试器信息。捕获异常时使用的实际对象应序列化为文本以增强异常消
我有几个定义 DebuggerDisplay 属性的类。我想知道是否有一种方法可以根据另一个属性定义一个 DebuggerDisplay 属性。如果我有以下类(class): [DebuggerDis
我想在索引器类上做这样的事情: [DebuggerDisplay("Debug: {_Items[index]}")] public override string this[byte
这个问题在这里已经有了答案: How to make [DebuggerDisplay] respect inherited classes or at least work with collec
我有一个包含 8 个 bool 值的类,我想在调试器中将这些 bool 值表示为 1 或 0,我该如何实现? 最佳答案 你可以创建一个简单的辅助方法: private string GetBitMas
我想应用 DebuggerDisplayAttribute 来包含内存地址值。有没有办法让它以十六进制显示? [DebuggerDisplay("Foo: Address value is {Addr
我有一个继承自 List 的类.它在所有方面都运行良好并且符合预期,除了一个:当我添加 [DebuggerDisplay] 时属性。即使查看 List 也有其作为 [DebuggerDisplay("
是否可以将 System.Diagnostics.DebuggerDisplay 属性分配给字典的定义? 例如 Dictionary [System.Diagnostics.DebuggerDispl
属性 [DebuggerDisplay] ( Using DebuggerDisplayAttribute ) 允许定义 VS 2010/2008 调试器中的显示。通过修改 AutoExp.cs/.d
当前状态 有两个类: [DebuggerDisplay(@"One = {One}, two = {Two}")] public class A { public int One { get;
考虑以下类: [DebuggerDisplay("{GetType().Name,nq}: FileName = {FileName,nq}")] public class FileWrapper {
有两种方法可以增加调试信息的有用性,而不是在调试器中看到 {MyNamespace.MyProject.MyClass}。 这些都是DebuggerDisplayAttribute的用途和 ToStr
[DebuggerDisplayAttribute("{_name}")] 对比 [DebuggerDisplay("{_name}")] 有区别吗?一个是另一个的别名吗?使用名为 foo 的属性时,
我知道这个属性应该在 C# 中工作,但在我的情况下它没有。 我有一个带有懒惰属性 child 的类。访问此属性可能会产生往返服务器的副作用。所以,自然地,当我只是在调试器观察窗口中观察它时,我不希望发
我是一名优秀的程序员,十分优秀!