我的DLL代码:
Public Class DisaOJLibrary
Public Shared log As StringBuilder
Public Shared Function Test(PARAMS)
DisaOJLibrary.log.Clear()
DisaOJLibrary.log.Append("")
The rest of the code....
当我从我的应用程序调用函数Test()时,它给出:
但我得到System.NullReferenceException
。 DisaOJLibrary.log.Clear()
此行发生异常。
我做错了什么,如何从类中声明的函数中访问变量?
答案 0 :(得分:1)
简单地将变量日志声明为“共享”并不意味着有人为您创建并初始化对象实例。你需要添加
Public Shared Function Test(PARAMS)
if DisaOJLibrary.log Is Nothing Then
DisaOJLibrary.log = new StringBuilder()
End if
DisaOJLibrary.log.Clear()
DisaOJLibrary.log.Append("")
....
或直接在类级别的声明中初始化
Public Shared log As StringBuilder = new StringBuilder