Vb.net 字体dispose-如何:实现dispose Finalize模式(Visual Basic)

Vb.net 字体dispose-如何:实现dispose Finalize模式(Visual Basic),vb.net,itext,Vb.net,Itext,首先,我的程序只使用3到5种字体,而且只在我创建PDF时使用 我认为没有必要从资源的角度来处理字体对象,但对于学习和养成良好习惯来说,这将是一件好事 我试着去做 如果myFont1不是空的,那么 myFont1.Dispose() 如果结束 或 如果myFont1不是空的,那么 myFont1.IDisposable.Dispose() 如果结束 我得到“Dispose或IDisposable不是Font的成员” 要实现Dispose选项,我真的需要做所有这些工作吗 您的代码应该与您建议的代

首先,我的程序只使用3到5种字体,而且只在我创建PDF时使用

我认为没有必要从资源的角度来处理字体对象,但对于学习和养成良好习惯来说,这将是一件好事

我试着去做

如果myFont1不是空的,那么
myFont1.Dispose()
如果结束

如果myFont1不是空的,那么
myFont1.IDisposable.Dispose()
如果结束
我得到“Dispose或IDisposable不是Font的成员”

要实现Dispose选项,我真的需要做所有这些工作吗


您的代码应该与您建议的代码类似:

If myFont1 IsNot Nothing Then
    myFont1.Dispose()
End If

由于
Font
类型确实实现了所解释的
IDisposable
接口。

IDisposable
是一个接口。实现它的位图或字体之类的东西需要有一个
Dispose
方法。你想在什么地方做这件事,窗体还是类?只有在Windows窗体上,你的答案才指向
System.Drawing
font类。但是阅读OP问题的标签,OP很可能意味着iTextSharp字体类。@mkl Right!!也许这就是原因,iText字体不是一次性的?@fedeteka确实不是,参见来源:。