Dot-Net
.net 4.0 表達式樹有什麼好的案例?
這個靈感來自我的語言大師同事,他似乎無法為它們找到一個好的用途,在我自己的幾次蹩腳嘗試之後,我不得不同意。
現在我知道,一旦你掌握了一些好的實際理由,這些概念往往會更容易流動。
目前,它的唯一目的似乎是讓您編寫一個 Linq 提供程序?
是這樣嗎??這還有其他好處嗎?
表達式樹之所以如此強大,是因為它們讓您可以將程式碼視為數據。使用者習慣於建構數據、保存數據並稍後返回。
表達式樹可以讓你用程式碼做同樣的事情。例如,您可以獲取使用者的輸入(複選框、數字範圍等)並將其轉換為表達式樹。然後可以執行該表達式樹,或將其儲存起來供以後使用。很酷。
想想圍繞報告的實際用途,例如建立和保存數據過濾器和數據映射。另一個實際用途是根據使用者定義的規則在應用程序中支持自定義工作流。
這裡有一些關於序列化表達式樹 ( <http://code.msdn.microsoft.com/exprserialization> ) 的 MSDN 程式碼,應該可以讓想法流動起來。