Попробуйте это:
В методе успеха Javascript
var obj1 = JSON.parse (resp);
$ ("div # sent_field"). Html (' '+ obj1.name +' ');
Marc находится на правильных строках - это - раздел 7.2.4 в спецификации C# 3.0 - Разрешение Перегрузки Бинарного оператора.
В основном шаги:
MyNullable<Money>
.MyNullable<T>
не перегружается +.MyNullable<int> + MyNullable<int>
это работает из-за неявных преобразований каждого аргумента int
- но когда мы делаем MyNullable<Money> + MyNullable<Money>
это не работает потому что Money + Money
не находится в наборе операторов кандидата.Это - интересный вопрос... он работает с Decimal
, например, но нет TimeSpan
, которые являются оба надлежащими типами.NET (в отличие от этого, float
и т.д. это - примитивы), и оба имеют + оператор. Любопытный!
Конечно, можно скрутить руку с:
Money m3 = (Money)m1 + (Money)m2;
И это Вы просто используете Nullable<T>
это будет работать бесплатно, конечно - плюс Вы получают компилятор + время выполнения (упаковка) поддержка. Есть ли причина не использовать Nullable<T>
здесь?
Я посмотрю на спецификацию; тем временем Вы могли бы думать о продвижении оператора к MyNullable<T>
; с постоянным клиентом Nullable<T>
, компилятор C# обеспечивает "снятые" операторы для поддерживаемых типом, но Вы не можете сделать этого сами. Лучшее, которое можно сделать, предложить все очевидные и надеяться, что тип поддерживает его;-p Для доступа к операторам с дженериками посмотрите здесь, доступный для бесплатной загрузки здесь.
Обратите внимание, что Вы, вероятно, хотели бы применить соответствующие "снятые" проверки - т.е.
x + y => (x.HasValue && y.HasValue)
? new MyNullable<T>(x.Value + y.Value)
: new MyNullable<T>();
Обновление
Другая обработка надеется касаться 14.7.4 (ECMA 334 v4) "Оператор сложения", где это предопределено для диапазона типов включая десятичное число (так, чтобы был плохой тест мной), с тех пор 14.2.4 (теми же) "Разрешениями перегрузки бинарного оператора", предопределенные операторы действительно получают особое упоминание. Я не утверждаю, что понял это полностью, все же.