سؤال

ما هو المشدد الذي LINQ التعبير شجرة يمكن القيام به؟

هل هو تعريف فئة؟ ماذا عن طريقة، مع كل الاسم المعلن، معدلات، parametertype وعودة نوع؟

ويجب أن البرنامج دائما تحديد شجرة نفسه؟ هل من الممكن أن تولد شجرة من # ملف C معين؟

وأين يمكنني الحصول على الموارد لمعرفة المزيد عن الكتابة الأساسية لشجرة التعبير المتقدمة والتعبير شجرة الزوار؟ (مقالات وأشرطة الفيديو ستكون كبيرة)

وشكرا لأولئك القادرين على مساعدة ...

هل كانت مفيدة؟

المحلول

في C # 3، يمكن أشجار التعبير تمثل <م> تعبيرات . ومن هنا جاءت تسميته. وأنها تقتصر أيضا على مجموعة فرعية من C # تعابير - أي تعبيرات مهمة، لا تعابير تنطوي على أنواع المؤشر، وهلم جرا

في المكتبات التي سيتم شحنها مع C # 4، فإننا قمنا بمد الشجرة التعبير <م> مكتبة لدعم أيضا أشجار بيان. ومع ذلك، C # 4 لن تلقائيا يترجم بيان من امدا إلى "شجرة بيان".

وهذا هو ميزة واضحة ومفيدة والتي نحن ببساطة لم يكن لديك الوقت للوصول الى لC # 4. نحن سوف تنظر فيه لإصدارات افتراضية في المستقبل. إذا كان لديك سيناريو المستخدم عظيم حقا لأشجار بيان، وأنا أحب أن أسمع ذلك.

وومزيد من التمديد واضحا للجميع أن الأشجار الإعلان، الذي من شأنه أن يمثل الإعلانات الطبقة، والإعلانات البنية، وهلم جرا. ومن شأن وجود <م> مجموعه homoiconicity بين C # اللغة والمكتبة شجرة التعبير تكون رهيبة. وستمكن جميع أنواع السيناريوهات metaprogramming مثيرة للاهتمام. ولكن ذلك لن يحدث في أي وقت قريب، لذلك لا احصل على الآمال. وهذا أكثر من حلم طويل الأجل من الألغام التي قد يحدث أبدا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top