2011-10-27 34 views

回答

8

這不能通過做內置的樣式表編輯器。然而,你可以寫,你調用如下的擴展方法:如果你把擴展方法爲VS項目和DLL複製到LINQPad plugins文件夾

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中創建項目。

+0

的擴展類的工作奇妙的LINQPad當我在查詢添加它,但它編譯成一個單獨的DLL不起作用。 LINQPad是說它沒有擴展名的定義。也許我在VS中創建一個類時錯過了一些東西。我不想把時間放在這裏,因爲我可以等待最終發佈的插件插入。 – MADCookie

+1

我認爲你已經檢查了明顯的東西......該類是公共的,並且名稱空間被導入(或更容易,您可以將其定義爲頂級命名空間)。您是從LINQPad手動引用DLL還是將其放入插件文件夾? –

+0

謝謝你檢查明顯!我只是沒有設置公開課!哎呀。感謝您的幫助和提高產出的重要提示。 – MADCookie

3

我有在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; 
    } 
} 
相關問題