Il PetaPoco.Database oggetto implementa IDisposable ma raramente, se mai vedere esempi di codice (anche per quanto riguarda di own website PetaPoco) che includono un utilizzo economico come segue:PetaPoco.Database implementa IDisposable, quindi perché la maggior parte degli esempi non ha un'istruzione 'using'?
using (var db = new Database("MyConnectionString"))
{
// Do database stuff
}
Il più delle volte ho semplicemente vedere:
var db = new Database("MyConnectionString");
// Do database stuff
// I never see .Dispose() called.
In che modo dovrebbero essere consegnati gli oggetti PetaPoco.Database?
Se implementa IDisposable dovresti essere sicuro di chiamare Dispose. E, in ogni caso, non hai nulla da perdere se il metodo Dispose non fa nulla – Steve
Ma se è implementato IDisposable, non dovrei inserirlo in un blocco "using", in quanto questo è in genere il significato di "using" essere usato? – Howiecamp
@Howiecamp Lo è e dovresti. non lo fanno negli esempi perché GC si prende cura di esso quando il 'AppDomain' viene distrutto con il programma. – Behrooz