سؤال

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

    [DecimalMin(10.01)]
    public decimal Amount { get; set; }

يستخدم الرمز أعلاه سمة العقد العشرية مع قيمة مُنشئ 10.01. يقبل مُنشئ السمة القيم العشرية. ومع ذلك ، فإن المترجم لن يسمح 10.01 أو 10.01m.

مع 10.01 كقيمة أتلقاها: "لا يمكن تحويل نوع المصدر" مزدوج "إلى استهداف النوع" العشري "

مع 10.01m كقيمة أتلقاها: "يجب أن تكون وسيطة السمة تعبيرًا مستمرًا ، أو نوع التعبير أو تعبير إنشاء الصفيف لنوع معلمة السمة."

لقد غوغل حولها لمحاولة العثور على إجابة ، وفشلني Google-FU اليوم.

هل لدى أي شخص مثال على كيفية استخدام هذا المدقق؟

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

المحلول

هذا خطأ في nhibernate.validator. العشرات غير ممثلة في معلمات السمات.

استخدم القيم العشرية كبرامز السمة في C#؟

الحل هو تصحيح nhibernate.validator بحيث يأخذ المُنشئ تعويمًا أو مزدوجًا ثم إجراء التحويل إلى عشري في CTOR. أتمنى لو كان لدي إجابة أفضل لك.

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