سؤال

وكنت قد كتبت سمة التحقق من صحة بطاقة الائتمان المخصص الذي يتحقق الملكية CardNumber صالحة لنوع بطاقة معينة (عقار آخر في نفس الدرجة)

[CardValidationBinCheck(this.CardType, 
                        ErrorMessage = "CreditCardNumberDoesNotMatchCardType")]
public string CardNumber
{
 ...
}

وهذا لن تجميع كما استوديو يشكو يجب أن يكون هذا الجدل سمة ثابتة، تعبير تشير typeof أو تعبيرا عن إنشاء مجموعة من نوع المعلمة السمة (؟).

وهناك على أية حال أنا يمكن أن تمر cirvumvent هذا وتمرير بلدي this.CardType إلى السمة؟

واللطف،

ودان

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

المحلول

للأسف لا. حتى لو IL يسمح أن تكون قيمة سمة رمزية إشارة عضوا (مثلا PropertyInfo فعال) ليس هناك C # المشغل الحصول على واحد بالنسبة لك <سوب> 1 . هل يمكن أن تمر عليه في كسلسلة حرفية ثم استخدام انعكاس للحصول على PropertyInfo بالرغم من ذلك. قبيحة وهشة، ولكن ربما الأقرب ستحصل.


<سوب> 1 في هذا الطلب ميزة معروفة، وربما يسمى "infoof" المشغل. لا يوجد أي دليل على أن تنفذ بالرغم من ذلك.

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