我希望能够设置不同的返回值,类似于LINQPad样式为NULL的斜体绿色文本。具体来说,我想将布尔值TRUE和FALSE设置为不同,如蓝色和红色。
答案 0 :(得分:8)
这不能通过内置样式表编辑器完成。但是,您可以编写一个您调用的扩展方法,如下所示:
void Main()
{
// AdventureWorks
Contacts.Select (c => new { c.FirstName, c.LastName, NameStyle = c.NameStyle.RedBlue() }).Dump();
}
static class Extensions
{
public static object RedBlue (this bool value)
{
string c = value ? "Blue" : "Red";
return Util.RawHtml ("<span style='color:" + c + "'>" + value + "</span>");
}
}
如果将扩展方法放入VS项目并将DLL复制到LINQPad plugins文件夹中,它将自动可用于所有查询。
编辑:您现在可以在“我的扩展”查询中定义该方法,而不必在VS中创建项目。
答案 1 :(得分:3)
我在MyExtensions sketch中使用此代码块取得了成功:
void Main()
{
(!(true.Dump())).Dump();
}
public static class MyExtensions
{
public static bool Dump (this bool value)
{
string c = value ? "Blue" : "Red";
Util.RawHtml ("<span style='color:" + c + "'>" + value + "</span>").Dump();
return value;
}
}