Resource Disposing¶
C#: destructors are non-deterministic, implement IDisposable
instead,
resource control with using
class MyResource : IDisposable
{
public void Dispose()
{
// ...
}
}
/* Usage: */
using (var res = new MyResource()) {
// ...
}
Vala: destructors are deterministic, you can implement the RAII pattern with destructor
class MyResource : Object {
~MyResource () {
// ...
}
}
/* Usage: */
{
var res = new MyResource ();
// ...
}
Resource is disposed as soon as it goes out of scope.