Trees Expression 1

arbori de expresie sunt imuabile. Acest lucru înseamnă că, dacă doriți să schimbați arborele de expresie, trebuie să creați un nou arbore de expresie prin copierea unui copac existent, și apoi modificați-l. Puteți utiliza un vizitator copac expresie pentru a traversa arborele de expresie existente. Pentru mai multe informații, consultați. În modul în care. Expresia parcurgeri Implementarea și ghid practic. Schimbarea arborilor de expresie.

Atunci când o expresie lambda este atribuit unei variabile de tip Expression . compilator reprezintă un arbore de expresie care reprezintă expresia lambda. De exemplu, unele metode standard de interogare operatori, care sunt definite în clasa Queryable. au parametrii de tip Expression . Când aceste metode, puteți transmite o expresie lambda și compilatorul va genera un arbore de expresie.

Tipul de exprimare Acesta oferă metoda Compile. care compilează codul reprezentat de arborele de expresie, într-un delegat executabil. Acest cod executabil este echivalent cu codul executabil care ar fi generate dacă expresia lambda a fost numit un tip delegat inițial.

Numai acei arbori de expresie care reprezintă funcții, și anume Expression și tipul părinte LambdaExpression său. Acestea pot fi compilate în cod executabil. Pentru alte tipuri de arbori expresii ar trebui mai întâi să le pună în coajă nod LambdaExpression. O astfel de exprimare LambdaExpression poate fi obținută prin apelarea metodei Lambda și trecându-l arborele de expresie ca argument.

articole similare