Решение
После загрузки источника MVC я все еще не мог видеть, почему это не будет работать, таким образом, я предположил, что это должно быть что-то, чтобы сделать с типом, который я пытался связать. Конечно же, причем значения являются членскими переменными, в противоположность свойствам, был преступник. Это вызвано тем, что образцовый редактор связей использует отражение для установки свойств, которые это не находило через вызов к TypeDescriptor.GetProperties(Type)
.
Обновление класса значения к этому решило его (после того, как часы удара препятствуют стене, которую я должен добавить!!):
public class ShoppingBasketItem {
public int ItemID { get; set; }
public int ItemQuantity { get; set; }
}
В схеме PLT процедура error вызывает исключение exn: fail , которое содержит строку ошибки. Для всех определений нет "неявной ловушки". Посмотрите на следующий пример:
;; test.ss
(define (a d)
(printf "~a~n" (/ 10 d)))
(a 0) ;; The interpreter will exit here.
(printf "OK~n")
Выполните указанный выше сценарий из командной строки, и вы увидите, что интерпретатор существует после вывода чего-то вроде
/: division by zero
=== context ===
/home/user/test.ss:1:0: a
. Если исключение не обрабатывается в пользовательской программе, оно распространяется до основного интерпретатора где обработчик по умолчанию имеет дело с этим, то есть вывести исключение и выйти. Другими словами, интерпретатор просто говорит: «Возникло исключение, и я не знаю, как с ним бороться, поэтому я ухожу». Это не сильно отличается от того, как JVM или другие виртуальные машины обрабатывают исключения.
Чтобы узнать больше о механизме обработки исключений PLT Scheme, см. пожалуйста, прочтите о with-handlers и dynamic-wind в MzScheme Language Manual . Используя их, вы даже можете эмулировать блок Java try-catch-finally.
(define (d a b)
(try
(printf "~a~n" (/ a b))
(catch (lambda (ex)
(printf "Error: ~a" ex)))
(finally
(if (> b -2)
(d a (sub1 b))))))
Вот расширение синтаксиса, которое сделало это возможным:
;; try-catch-finally on top of with-handlers and dynamic-wind.
(define-syntax try
(syntax-rules (catch finally)
((_ try-body ... (catch catch-proc))
(with-handlers (((lambda (ex) #t)
(lambda (ex)
(catch-proc ex))))
(begin
try-body ...)))
((_ try-body ... (catch catch-proc) (finally fin-body ...))
(dynamic-wind
(lambda () ())
(lambda ()
(with-handlers (((lambda (ex) #t)
(lambda (ex)
(catch-proc ex))))
(begin
try-body ...)))
(lambda () fin-body ...)))
((_ try-body ... (finally fin-body ...))
(dynamic-wind
(lambda () ())
(lambda () try-body ...)
(lambda () fin-body ...)))))