Dans l'exemple ci-dessous, le pen
retourné sera-t-il détruit (éliminé) ou non?utilisation de 'using' dans .NET
' VB'
Public Function GetPen() As System.Drawing.Pen
Using pen As New System.Drawing.Pen(_Color, _Width)
pen.DashStyle = _DashStyle
Return pen
End Using
End Function
// C#
public System.Drawing.Pen GetPen()
{
using (System.Drawing.Pen pen = new System.Drawing.Pen(_Color, _Width))
{
pen.DashStyle = _DashStyle;
return pen;
}
}
[EDIT]
Encore une précision ... L'objet est-Pen envoyé à l'appelant de GetPen par référence ou 'cloné' comme une structure? Je sais, cela est une classe, mais avec des objets GDI je ne suis jamais sûr ...
aura-t-il être détruit (éliminés) le pen
créé en GetPen()
lorsque la méthode externe Éliminez son obtenu pen
avec GetPen()
?
Qu'avez-vous trouvé arrivé quand vous essayé? – Lazarus
@Lazarus: Je n'ai pas encore essayé en demandant. J'ai demandé d'abord: D – serhio
après les tests: J'ai obtenu un non nul (Nothing) invalide (avec des paramètres invalides) pen ... – serhio