Silverlight的System.Diagnostics中是否没有Debug.Write()方法?
有Debug.WriteLine(),但没有Debug.Write()。
有谁知道为什么会这样?
有没有人有简单的解决方法?我希望能够做到这样的事情:
修改
public static string OutAnd(this string input) {
Debug.Write(input);
return input;
}
(是的,如果我想流利地使用它,我会故意再次返回字符串。)我在非Silverlight上下文中使用此方法,它适用于快速调试。
谢谢!
答案 0 :(得分:1)
我建议你使用循环附加到字符串构建器,如下所示:
StringBuilder stringBuilderInstance=new StringBuilder();
foreach(string stringValue in stringList)
{
stringBuilderInstance.AppendFormat("{0}, ",stringValue);
}
然后在循环使用结束时,例如:
Debug.WriteLine(stringBuilderInstance.ToString())
答案 1 :(得分:0)
在你的情况下,我会用一个班来掌握中级的东西。
public sealed class WriteLine
{
private readonly StringBuilder _accumulator = new StringBuilder();
public WriteLine OutAnd(string text)
{
_accumulator.Append(text);
return this;
}
public void ToDebug()
{
Debug.WriteLine(_accumulator.ToString());
}
}
使用扩展方法
public static WriteLine OutAnd(this string input)
{
var retval = new WriteLine();
retval.OutAnd(input);
return retval;
}
因此,在代码中,您可以执行以下操作:
"foo".OutAnd(" bar").OutAnd(" baz").OutAnd(" are lazy variable names").ToDebug();