我尝试使用以下代码对检索到的实体启用某种非空检查,以确保它们在执行某些具体业务之前存在:
protected T GetRequired<T>(object id)
where T : EntityObject
{
var obj = Get<T>(id);
Contract.Requires<ArgumentNullException>(obj != null);
return obj;
}
但在编译时我得到:
After contract block, found use of local variable 'obj' defined in contract block
我是否Contract.Requires
以错误的方式使用?