في .NET ، هل يمكنك استخدام الانعكاس للحصول على جميع الطرق غير الموروثة للفصل؟

StackOverflow https://stackoverflow.com/questions/5880819

سؤال

بسبب هذه المشكلة هنا ، أحاول كتابة JsonConverter مخصصيعالج الحالات التي تصنف فيها قائمة أو مجموعة ، ثم تضيف خصائص إضافية إليها.على هذا النحو ، سيكون أحد الأساليب هو تجاهل جميع خصائص الفئة الأساسية وإجراء تسلسل فقط لتلك الموجودة في الفئة المحددة.(من الناحية الفنية ، لن ينجح هذا لأنه إذا قمت بفصل هذه الفئة الفرعية ، فإنك تكسر التسلسل ، لكن هذا جعلني أتساءل ...)

هل من الممكن عن طريق التفكير (حسنًا ، أعلم أن الإجابة هي "نعم" لأن Reflector يفعل ذلك بالضبط ، لكني لا أعرف كيف) للحصول على الأعضاء الذين تم تعريفهم في الفصل نفسه فقط على عكس أولئك الذينوارث؟على سبيل المثال ...

Genacodicetagpre

في هذه الحالة ، أريد التفكير في رمز الترقيم العام والحصول فقط على رمز الترقيم العام ورمز الترقيم العام مع تجاهل رمز الترقيم العام ورمز الترقيم العام.إذن ، هل يمكن أن يكون ذلك كيف يتم ذلك؟

م

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

المحلول

أثناء استدعاء أسلوب "GetMembers" للحصول على أعضاء النوع ، يمكنك تحديد "DeclaredOnly" في علامة الربط.

نصائح أخرى

يتعين عليك تحديد جميع الأعضاء في رمز الترقيم العام والاحتفاظ فقط بالأعضاء الذين لديهم رمز رمز عام.

مع LINQ ، شيء من هذا القبيل (مبالغة): Genacodicetagpre

أو مع التحميل الزائد للرمز العام: Genacodicetagpre

يجب أن تفعل

MemberInfo.DeclaringType ما تحتاج إليه.للحصول على أعضاء محددين بشكل مباشر في النوع X ، قم بتصفية الأعضاء عن طريق الترميز العام

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