Dot-Net

表達式樹到底有什麼意義?

  • May 30, 2021

好吧,我就是不明白。

我已經閱讀了盡可能多的關於這個主題的內容,但不知道它的全部內容:

  • 為什麼使用表達式樹?
  • 什麼是我何時以及如何使用它們的真實範例?
  • 使用它們有什麼總體好處?

表達式樹 API 最初是為了創建自定義 LINQ 提供程序而編寫的。基本上,如果您使用 LINQ to Objects,您不會處理表達式樹。但是,如果您使用 LINQ to SQL,那麼 LINQ 提供程序可以使用表達式樹。

在 .Net 4.0 中,表達式樹 API 得到了擴展,並被 DLR 大量使用。因此,如果您打算向 .NET 添加新的動態語言,您將需要它。

正如經常發生的那樣,人們找到了更多使用表達式樹的方法。有時您可以使用 ET 來獲取有關對象的更多資訊,而不是反射。在 .NET 4 中,您還可以使用它們來生成動態方法。但請記住,這些更像是高級技巧,而不是推薦的場景。

以下是一些您可以查看的連結:

表達式樹基礎

使用表達式樹獲取有關對象、類型和成員的資訊

在 Visual Studio 2010 中使用表達式樹生成動態方法

引用自:https://stackoverflow.com/questions/3357259