سؤال

أنا أعمل مع أشجار التعبير LINQ (من منفذ DB4O / MainSoft / Mono) على الإطار المضغوط. منذ System.reflection.emit غير موجود، لا أستطيع تجميع LambdaExpressions في المندوبين، والتي أريد القيام بها لأسباب الأداء.

اعتقدت أنه ربما يمكنني تحويل شجرة التعبير الخاصة بي إلى IL وتقديم أساسا وظيفة الانبعاثات المفقودة بهذه الطريقة، ولكن بعد ذلك أدركت أن علي أن أبلغ تشغيل ILASM مقرها WINCE أو كتابة رؤوس PE الخاصة بي وبيانات تعريف assmebly.

كنت الكثير من alasm المتاحة. فعلا؟

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

المحلول

على ما يبدو، يمكنني تجميع mono.cecil. للاستخدام بموجب الإطار المضغوط، والذي سيسمح لي أن تنبعث منها وتحميل التجميعات.

نصائح أخرى

إذا كنت تريد استخدام تعبيرات Lambda-on CF، فأنت لا تحتاج إلى alasm أو system.rection.emit. يدعم برنامج التحويل البرمجي C # ل CF تعبيرات Lamba - ولكن المكتبات الأساسية CF لا تحتوي على فئات التعبيرات. إذا قمت بإضافة إشارة إلى التجميع مع الفئات الصحيحة المسماة (والصحة المنفذة) للتعبيرات، فستقوم بتمكين تعبيرات LambDA.

شكرا لله، هناك هذه الجمعية نفذت بالفعل ( http://evain.net/blog/articles/2008/09/22/AlyQ-Expression-Tries-On-The-Compact-Framework. ) - أستخدمه مع الوصول إلى بيانات DB4O و SQLCE مع LinQ IqueryableToolkit، ويعمل بشكل جيد.

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