سؤال

هذا هو إعلان الملكية المعني:

 [RangeValidator(1,RangeBoundaryType.Inclusive,255,RangeBoundaryType.Inclusive,MessageTemplate = "StartFlexibility is out of range")]
    public byte StartFlexibility { get; set; }

عند استدعاء طريقة التحقق من الصحة، يتم إلقاء شكل فورماتي أخبرني أن نوع القيمة يحتاج إلى أن يكون INT32.

كيفية إصلاح، من فضلك؟

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

المحلول

حسنا ... الإصلاح الواضح السريع سيتم تغيير النوع إلى قصيرة أو كثافة،

لكن ملاحظة أخرى أريد القيام بها، هي مع النطاق. أنت تخبر RAGEVALDATTOR لاتخاذ نطاق شامل بين 1 و 256، ولكن يمكنك فقط تعيين قيمة بايت حتى 255، ربما هذا هو السبب المترجم للبكاء.

يتدفق ThowValidator أيضا نوع النطاق من المعلمات، لذلك، حاول الصب

[RangeValidator((byte) 1, ...

نصائح أخرى

كما يقول جوني، يلقي إلى البايت ... ولكن أكثر مثل هذا

[RangeValidator(typeof(Byte), "1", RangeBoundaryType.Inclusive, "255", RangeBoundaryType.Inclusive, MessageTemplate = "Some message")]

سيكون الخيار الآخر هو استدعاء Range Validator في رسالة SelfValidation وإلقاء هناك.

لم أستخدم مطلقا من فئة / سمة ReadValidator

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