استخدام خاصية كحجة السمة
-
07-07-2019 - |
سؤال
وكنت قد كتبت سمة التحقق من صحة بطاقة الائتمان المخصص الذي يتحقق الملكية CardNumber صالحة لنوع بطاقة معينة (عقار آخر في نفس الدرجة)
[CardValidationBinCheck(this.CardType,
ErrorMessage = "CreditCardNumberDoesNotMatchCardType")]
public string CardNumber
{
...
}
وهذا لن تجميع كما استوديو يشكو يجب أن يكون هذا الجدل سمة ثابتة، تعبير تشير typeof أو تعبيرا عن إنشاء مجموعة من نوع المعلمة السمة (؟).
وهناك على أية حال أنا يمكن أن تمر cirvumvent هذا وتمرير بلدي this.CardType
إلى السمة؟
واللطف،
ودان
المحلول
للأسف لا. حتى لو IL يسمح أن تكون قيمة سمة رمزية إشارة عضوا (مثلا PropertyInfo
فعال) ليس هناك C # المشغل الحصول على واحد بالنسبة لك <سوب> 1 سوب>. هل يمكن أن تمر عليه في كسلسلة حرفية ثم استخدام انعكاس للحصول على PropertyInfo
بالرغم من ذلك. قبيحة وهشة، ولكن ربما الأقرب ستحصل.
<سوب> 1 في هذا الطلب ميزة معروفة، وربما يسمى "infoof" المشغل. لا يوجد أي دليل على أن تنفذ بالرغم من ذلك.