2014-12-24 7 views
0

나는 코드의 new font() 라인출시되지 않은 리소스 : 관리되지 않는 객체

출시되지 않은 자원에서 포티 문제가 있습니다

try 
{ 
var c = new ChartArea(); 
c.AxisY.TitleFont = new Font("Arial", 10, FontStyle.Bold);// --> Fortify issue 
} 
finally 
{ 
    if (ca.AxisY.TitleFont!= null) 
     { 
     ca.AxisY.TitleFont.Dispose(); //--> does not resolve the foritfy issue 
     } 
} 

I : 관리되지 않는 객체 -Fortify을 #

코드 C titlefont를 처리하려고했지만 도움이되지 않습니다. 이 문제를 해결하는 방법을 알려 주실 수 있습니까?

함수 DrawChart() DrawController.cs에에 제대로 줄에 폰트()에 의해 할당 된 관리되지 않는 시스템 리소스의 처분이 문제는

+0

가능한 중복 (http://stackoverflow.com/questions/22661480/calling- :

조금 더 입력 아마 문제를 해결할 수 윈도우 용 - 형식으로 처리) – Hogan

+0

정적 분석기는이 문제를 거의 해결하지 못합니다. 그들은 Font가 처형되지 않아야한다는 것을 충분히 이해할 수 없으며이 글꼴은 나중에 처리해야합니다. 자동으로, 사용자가 차트를 보았을 때. 경고를 그냥 억제하십시오. –

답변

0

입니다 (134) 실패

포티 메시지의 자세한 사항 새로운 Font를 .TitleFont에 할당하는 동작이 예외를 슬로우했을 경우 이 경우 .TitleFont는 여전히 null 일 수 있지만 Font 객체는 할당되었으며 핸들을 유지하지 않은 것입니다. [Windows 폼에 글꼴에 대한) (처분 호출]의

var c = null; 
Font arial10bold = null; 
try 
{ 
c = new ChartArea(); 
arial10bold = new Font("Arial", 10, FontStyle.Bold); 
c.AxisY.TitleFont = arial10bold; 
} 
finally 
{ 
    if (arial10bold != null) { 
     arial10bold.Dispose; 
    } 
} 
관련 문제