Кодовый контракт дает нулевое предупреждение с ServiceLocator - PullRequest
0 голосов
/ 22 февраля 2011

Использование HtmlPage.RegisterScriptableObject("Shell", serviceLocator.GetInstance<Shell>());

дает мне нулевое предупреждение.Как я могу заставить это уйти?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2011

Возможно serviceLocator.GetInstance<Shell>() возвращает ноль, если экземпляр не найден.

Попробуйте предоставить альтернативный поток управления для этой ситуации.

var instance = serviceLocator.GetInstance<Shell>();
if (instance == null)
    throw new InvalidOperationException("Shell instance is missing.");
HtmlPage.RegisterScriptableObject("Shell", instance);
0 голосов
/ 22 февраля 2011

Предупреждение: serviceLocator равно нулю?

Не видя больше вашего кода (чтобы понять, какие другие контракты могут быть в игре), вы можете поместить

Contract.Assume(serviceLocator != null);

в строке выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...