我在代码的new font()
行有强化问题
未发布资源:非托管对象-Fortify c#
代码:
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
}
}
我试图处理titlefont,但它没有帮助。你能告诉我如何解决这个问题吗?
Fortify详细信息:
DrawController.cs中的函数DrawChart()无法正常运行 处理第134行上Font()分配的非托管系统资源。
答案 0 :(得分:0)
问题是如果将新Font分配给.TitleFont会抛出异常。在这种情况下,.TitleFont可能仍然为null,但Font对象已经被分配,并且您没有保留它的句柄。
更多一点打字可能会解决问题:
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;
}
}