Sto utilizzando la libreria 3.5 per il codice Microsoft contrattiChe cosa significa "Contratto non può essere nel blocco try" significa?
public object RetrieveById(int Id)
{
//stuff happens...
Contract.Ensures(newObject != null, "object must not be null");
return newProject;
//No error message if I move the Contract.Ensures to here
//But it isn't asserting/throwing a contract exception here either
}
ottengo il messaggio di compilatore: "Errore 18 sezione Contratto entro blocco try nel metodo 'Controller.RetrieveById (System.Int32)'
UPDATE:
ho capito con il vostro aiuto:
- Sposta in alto
Controllare contro Contract.Result
Contract.Ensures (Contract.Result() = null, "oggetto non deve essere nulla"!);
puoi pubblicare l'intero contenuto del tuo metodo. Inoltre, 'Contract.Ensures' deve essere la prima riga di codice in qualsiasi metodo. Codice dopo la dichiarazione di reso sarà irraggiungibile. Ecco perché spostarlo non fa nulla. –