سؤال

لدي هيكل يعمل مثل النظام. نوع nullable:

public struct SpecialProperty<T>
{
    public static implicit operator T(SpecialProperty<T> value)
    {
        return value.Value;
    }
    public static implicit operator SpecialProperty<T>(T value)
    {
        return new SpecialProperty<T> { Value = value };
    }

    T internalValue;
    public T Value { get { return internalValue; } set { internalValue = value; } }

    public override bool Equals(object other)
    {
        return Value.Equals(other);
    }
    public override int GetHashCode()
    {
        return Value.GetHashCode();
    }
    public override string ToString()
    {
        return Value.ToString();
    }

}

أحاول استخدامه مع ربط ASP.NET MVC. باستخدام نموذج نموذج العميل الافتراضي ، فإن العقار سيؤدي دائمًا إلى عائد فارغ. يمكنني إصلاح هذا عن طريق إضافة ". القيمة" إلى نهاية كل اسم إدخال النموذج ، لكنني أريد فقط أن يرتبط بالنوع الجديد مباشرة باستخدام نوع من الموثق المخصص ، لكن جميع الحلول التي جربتها تبدو معقدة بلا داع . أشعر أنني يجب أن أكون قادرًا على توسيع الموثق الافتراضي ومع وجود بضعة أسطر من التعليمات البرمجية إعادة توجيه الخصائص الملزمة للنموذج بأكمله باستخدام التحويل الضمني. لا أحصل على نموذج ملزمة للوثق الافتراضي ، لكن يبدو أنه عالق حقًا في هذا التمييز بين خصائص النموذج والنموذج. ما هي أبسط طريقة للقيام بذلك؟ شكرًا!

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

المحلول

وجدت الجواب. كنت بحاجة فقط لتنفيذ محول نوع مخصص واختياره موثق النموذج الافتراضي.

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