В LINQPad результаты имеют специальный стиль для NULL.Как я могу применить это к логическим значениям или другим значениям? - PullRequest
6 голосов
/ 28 октября 2011

Я хотел бы иметь возможность стилизовать различные возвращаемые значения, аналогично тому, как LINQPad использует NULL в качестве курсивного зеленого текста.В частности, я бы хотел по-разному стилизовать логические значения TRUE и FALSE, например синий и красный.

null values are styled differently

Ответы [ 2 ]

8 голосов
/ 28 октября 2011

Это невозможно сделать с помощью встроенного редактора таблиц стилей.Однако вы можете написать метод расширения, который вы вызываете следующим образом:

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, он будет автоматически доступен для всех запросов.

РЕДАКТИРОВАТЬ: теперь вы можете определить этот метод в запросе «Мои расширения», а не создавать проект в VS.

3 голосов
/ 21 октября 2012

У меня есть успех с этим блоком кода в эскизе MyExtensions:

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;
    }
}
...