작성하기 전에 GDI + 오브젝트를 삭제해야합니까?작성하기 전에 GDI + 오브젝트를 처리해야합니까?
GDI + 개체를 사용한 후에 항상 Dispose하는 것이 좋습니다.
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();
편집 A : :이 상황이있는 경우
Pen p = new Pen(Color.Green);
// use 'p'
p.Dispose();
지금, '사용'사용
를마다 할 수 없습니다.
private Pen p;
public RefreshPen(style)
{
// p.Dispose(); +-
p = new Pen(style.Color);
// etc.
}
편집 B :
것은이 확인 될 것인가?
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'
}
아마도 편집을 참조하십시오. 그런데 '사용하기'는 (녹색/적색) 예제와 같이 여러 개의 연속 된 오브젝트 작성에서도 처분하는 데 도움이 될 것이라고 말하는가? – serhio
+1. "RefreshPen"메서드가 없기 때문에 "using"문을 사용하기가 어렵습니다. – David
@David : 사용자 정의 컨트롤이 있고 스타일을 조건부로 변경해야하는 펜으로 그리 (페인트)하면 어떻습니까? – serhio