Модель обязательный пользовательский тип
-
27-09-2019 - |
Вопрос
У меня есть структура, которая работает так, как система.
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();
}
}
Я пытаюсь использовать его с помощью привязки MVC ASP.NET. Использование модели клиента по умолчанию Binder, свойство всегда будет давать ноль. Я могу это исправить, добавив «. Value» в конец каждого имени ввода формы, но я просто хочу, чтобы он был связан с новым типом напрямую, используя какую-то таможенную модель модели, но все решения, которые я пробовал, казалось ненужно сложным Отказ Я чувствую, что я должен иметь возможность расширить связующее значение по умолчанию и с несколькими линиями кода перенаправить привязку свойства ко всей модели с использованием неявного преобразования. Я не совсем получаю парадигму связывания связующего по умолчанию, но, кажется, действительно застрял на этом различия между моделью и свойствами модели. Какой самый простой способ сделать это? Спасибо!
Решение
Нашел ответ. Мне просто нужно было реализовать пользовательский преобразователь типа, и связующее моделей по умолчанию выбрал его.