Я использую код Кода (на самом деле, учиться, используя это).
Я сталкиваюсь с чем-то странным для меня ... Переопределяю метод, определенный в 3-й партийной сборке. Я хочу добавить Contract.require
, как это:
public class MyClass: MyParentClass
{
protected override void DoIt(MyParameter param)
{
Contract.Requires<ArgumentNullException>(param != null);
this.ExecuteMyTask(param.Something);
}
protected void ExecuteMyTask(MyParameter param)
{
Contract.Requires<ArgumentNullException>(param != null);
/* body of the method */
}
}
Однако я получаю такие предупреждения:
Предупреждение 1 CodeContracts: Метод «MyClass.doit (MyParameter) переопределяет 'myparentclass.doit (myparameter))', таким образом, не может добавить требует.
[редактирование] немного изменена кода, чтобы показать альтернативные проблемы [/ edit]
, если я удаляю Contract.requires
в методе DOIT, я Получите еще одно предупреждение, рассказывая мне, что я должен предоставить бездоказатель ! = NULL
Я не понимаю это предупреждение. Что это за дело, и я могу решить это?