ما هو الحد الأقصى الأشجار LINQ التعبير يمكن أن تفعل؟
-
07-07-2019 - |
سؤال
ما هو المشدد الذي LINQ التعبير شجرة يمكن القيام به؟
هل هو تعريف فئة؟ ماذا عن طريقة، مع كل الاسم المعلن، معدلات، parametertype وعودة نوع؟
ويجب أن البرنامج دائما تحديد شجرة نفسه؟ هل من الممكن أن تولد شجرة من # ملف C معين؟
وأين يمكنني الحصول على الموارد لمعرفة المزيد عن الكتابة الأساسية لشجرة التعبير المتقدمة والتعبير شجرة الزوار؟ (مقالات وأشرطة الفيديو ستكون كبيرة)
وشكرا لأولئك القادرين على مساعدة ...
المحلول
في C # 3، يمكن أشجار التعبير تمثل <م> تعبيرات م>. ومن هنا جاءت تسميته. وأنها تقتصر أيضا على مجموعة فرعية من C # تعابير - أي تعبيرات مهمة، لا تعابير تنطوي على أنواع المؤشر، وهلم جرا
في المكتبات التي سيتم شحنها مع C # 4، فإننا قمنا بمد الشجرة التعبير <م> مكتبة م> لدعم أيضا أشجار بيان. ومع ذلك، C # 4 لن تلقائيا يترجم بيان من امدا إلى "شجرة بيان".
وهذا هو ميزة واضحة ومفيدة والتي نحن ببساطة لم يكن لديك الوقت للوصول الى لC # 4. نحن سوف تنظر فيه لإصدارات افتراضية في المستقبل. إذا كان لديك سيناريو المستخدم عظيم حقا لأشجار بيان، وأنا أحب أن أسمع ذلك.
وومزيد من التمديد واضحا للجميع أن الأشجار الإعلان، الذي من شأنه أن يمثل الإعلانات الطبقة، والإعلانات البنية، وهلم جرا. ومن شأن وجود <م> مجموعه homoiconicity م> بين C # اللغة والمكتبة شجرة التعبير تكون رهيبة. وستمكن جميع أنواع السيناريوهات metaprogramming مثيرة للاهتمام. ولكن ذلك لن يحدث في أي وقت قريب، لذلك لا احصل على الآمال. وهذا أكثر من حلم طويل الأجل من الألغام التي قد يحدث أبدا.
نصائح أخرى
وأشجار التعبير:
http://www.interact-sw.co .uk / iangblog / 2005/09/30 / expressiontrees
http://www.davidhayden.com/blog/ ديف / أرشيف / 2006/12/18 / ExpressionTrees.aspx
http://msdn.microsoft.com/en-us/library/bb397951. ASPX
http://community.bartdesmet.net/blogs/bart/archive/2006/11/22/Getting-started-with-C_2300_-3.0-Expression-Trees.aspx
HTTP: // بلاه .winsmarts.com / 2006 / 23/05 / تبديد الغموض الذي يكتنف-ج 30 - جزء-7-التعبير عن trees.aspx
ونمط الزوار:
http://www.dofactory.com/Patterns/PatternVisitor.aspx
http://en.wikipedia.org/wiki/Visitor_pattern