سؤال

بدون ورث ولكن فقط مع انعكاس هو من الممكن تغيير رمز الأسلوب ديناميكيا في C #؟

شيء مثل:

giveacodicetagpre.

لا أستطيع تغيير / تحرير فئة FOO.

giveacodicetagpre.

الهدف النهائي هو تغيير رمز ديناميكي:

giveacodicetagpre.

في system.xml.xsl.runtime.xslconvert.cs

للتحول:

giveacodicetagpre.

في:

giveacodicetagpre.

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

المحلول

الجزء الأول من هذه الإجابة خاطئة، أترك الأمر فقط حتى يكون التطور في التعليقات منطقيا. يرجى الاطلاع على تحرير (ق).

أنت لا تبحث عن انعكاس، ولكن الانبعاثات (وهو العكس الآخر).

على وجه الخصوص، هناك طريقة لا تفعل ما تريد، محظوظا أنت!

انظر TypeBuilder.DefinemethodoverRide

تحرير:
كتابة هذه الإجابة، لقد تذكرت للتو أن
إعادة مزج يسمح لك بذلك أيضا. انها أكثر صعوبة.

إعادة مزيج هو إطار "يحاكي" mixins في C #. في جانبها الأساسي، يمكنك التفكير في الأمر كواجهات مع تطبيقات افتراضية. إذا ذهبت أبعد من ذلك، يصبح أكثر بكثير من ذلك.

edit 2: هنا هو مثال للاستخدام لإعادة مزج (تنفيذ InotifyPropertychanged على فئة لا يدعمها، وليس لديه فكرة عن Mixins).

giveacodicetagpre.

واختبار:

giveacodicetagpre.

يرجى ملاحظة أن:

giveacodicetagpre.

و

giveacodicetagpre.

و

giveacodicetagpre.

لديك نفس التأثير بالضبط. إنها مسألة ترغب في تحديد أن Mixin معين يتم تطبيقه على فئة معينة.

مثال 2: تجاوز يساوي asyals and gethashcode

giveacodicetagpre.

هذا المثال هو تطبيقي من المختبر العملي المعطى مع إعادة المزيج. يمكنك العثور على مزيد من المعلومات هناك.

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