Dois-je disposer de l'objet GDI + avant sa création?Dois-je disposer de l'objet GDI + avant sa création?
Il est recommandé de toujours éliminer l'objet GDI + après l'avoir utilisé.
par ex.
Pen p = new Pen(Color.Green);
// use 'p'
p.Dispose();
maintenant, si j'ai cette situation:
Pen p = new Pen(Color.Green);
// use green 'p'
p = new Pen(Color.Red); // Should I Dispose my 'p' first?
// use red 'p'
p.Dispose();
EDIT A:
Utiliser 'UTILISATION' est pas possible à chaque fois.
private Pen p;
public RefreshPen(style)
{
// p.Dispose(); +-
p = new Pen(style.Color);
// etc.
}
EDIT B:
ce que ce sera OK?
using (Pen p = new Pen(Color.Green))
{
// use green 'p'
p = new Pen(Color.Red); // Should I Dispose my 'p' first?
// use red 'p'
p = new Pen(Color.Blue); // Should I Dispose my 'p' first?
// use blue 'p'
}
peut-être, mais voir mon édition. en passant, vous diriez que «utiliser» vous aidera à disposer même dans plusieurs créations d'objets consécutifs comme dans l'exemple (vert/rouge)? – serhio
+1. Je n'aurais pas une méthode "RefreshPen" comme ça parce que ça rend difficile l'utilisation d'une instruction "using". – David
@David: Que se passe-t-il si vous avez un contrôle personnalisé et que vous dessinez (Paint) avec un stylo, ce qui devrait conditionnellement changer un style? – serhio