هل يمكنني استخدام Roslyn لإعادة كتابة رمز الوقت التجميعي؟
-
27-10-2019 - |
سؤال
على سبيل المثال لدي Genacodicetagpre
هل يمكنني الحصول على Foo class AST وإعادة كتابة Bar ، في وقت الترجمة ، إلى
Genacodicetagpre.
المحلول
لا تدعم Roslyn اليوم إعادة كتابة وقت التجميع بشكل مباشر ، ولكن التحولات النحوية والدلالية تدعمها بالتأكيد.في الواقع ، ألق نظرة على عينة "ImplementNotifyPropertyChanged" المضمنة في برنامج التحويلات النقدية للتعرف على شيء ما تريد القيام به.يتم تنفيذ النموذج كتحويل لوقت التصميم في وميزة IDE ، ولكن يمكنك استخراج المنطق وتحويله إلى شيء مثل مهمة ما قبل الإنشاء التي تعيد كتابة الملفات قبل التجميع.
نصائح أخرى
لا أعتقد أن هذا ممكن في CTP الحالي الذي تم إصداره لأن المترجم موجود كخدمة ولكن لا يوجد شيء من هذا القبيل يسمح لك بالدخول في عملية الترجمة كما يمكنك القيام به في Nemerle.
لا تنتمي إلى StackOverflow