Pertanyaan yang diberi tag «expression-trees»


21
Mengambil nama Properti dari ekspresi lambda
Apakah ada cara yang lebih baik untuk mendapatkan nama Properti saat dilewatkan melalui ekspresi lambda? Inilah yang saya miliki saat ini. misalnya. GetSortingInfo<User>(u => u.UserId); Itu bekerja dengan melemparkannya sebagai ekspresi anggota hanya ketika properti itu adalah string. karena tidak semua properti adalah string saya harus menggunakan objek tetapi kemudian …

1
Apakah Roslyn SyntaxNodes digunakan kembali?
Saya telah melihat ke Roslyn CTP dan, sementara itu memecahkan masalah yang mirip dengan API pohon Ekspresi , keduanya tidak dapat diubah tetapi Roslyn melakukannya dengan cara yang sangat berbeda: Expressionnode tidak memiliki referensi ke node induk, dimodifikasi menggunakan a ExpressionVisitordan itulah mengapa sebagian besar dapat digunakan kembali. Roslyn SyntaxNode, …

5
Apa yang tidak bisa dilakukan Expression.Quote () yang Expression.Constant () itu?
Catatan: Saya mengetahui pertanyaan sebelumnya “ Apa tujuan metode Expression.Quote LINQ? ” , Tetapi jika Anda membaca terus, Anda akan melihat bahwa itu tidak menjawab pertanyaan saya. Saya mengerti apa tujuan yang dinyatakan Expression.Quote(). Namun, Expression.Constant()dapat digunakan untuk tujuan yang sama (selain untuk semua tujuan yang Expression.Constant()telah digunakan sebelumnya). Oleh …

4
LINQ ke Entitas hanya mendukung casting EDM primitif atau jenis enumerasi dengan antarmuka IEntity
Saya memiliki metode ekstensi umum berikut: public static T GetById<T>(this IQueryable<T> collection, Guid id) where T : IEntity { Expression<Func<T, bool>> predicate = e => e.Id == id; T entity; // Allow reporting more descriptive error messages. try { entity = collection.SingleOrDefault(predicate); } catch (Exception ex) { throw new InvalidOperationException(string.Format( …


4
Kompilasi Kinerja Ekspresi C # Lambda
Pertimbangkan manipulasi sederhana berikut atas koleksi: static List<int> x = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; var result = x.Where(i => i % 2 == 0).Where(i => i > 5); Sekarang mari gunakan Ekspresi. Kode berikut kira-kira setara: static void UsingLambda() { …
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.