调用类的共享成员时,Gallio中为TypeInitializationException和NullReferenceException

| 我正在尝试使用Gallio和MbUnit(3.2.750版)。 按照教程(http://gallio.org/wiki/doku.php?id=getting_started:my_first_tests),我创建了一个新的类项目,引用了我想测试的另一个项目(另一个类库),并写了一些测试,然后运行它们。 我的每一项测试都非常非常简单。而且我测试的方法也很简单。 这是一个例子。经过测试的功能:
    Public Shared Function IsBool(ByVal data As Object) As Boolean
        Dim retour As Boolean = True
        Try
            If data.ToString IsNot Nothing Then
                If data.ToString = \"1\" Or data.ToString = \"0\" Then
                    retour = True
                Else
                    Boolean.Parse(data.ToString)
                End If

            End If

        Catch ex As Exception
            retour = False
        End Try

        Return retour
    End Function
和测试:
    <Test()> _
    Public Sub IsBool_trueString()
        Dim result As Boolean = IsBool(\"true\")
        Assert.AreEqual(True, result)
    End Sub
和错误:
System.TypeInitializationException: Une exception a été levée par l\'initialiseur de type pour \'CMS.Utility\'. ---> System.NullReferenceException: La référence d\'objet n\'est pas définie à une instance d\'un objet.
   à CMS.Utility..cctor() dans C:\\...\\Utility.vb:ligne 12
   --- End of inner exception stack trace ---
TypeName: CMS.Utility
   à CMS.Utility.IsBool(Object data)
   à KoamaOPTests.CMS.Tests.Utility.IsBool_trueString() dans C:\\...\\Tests\\Utility.vb:ligne 34
我意识到共享方法不应该有这样的例外,这就是为什么它让我感到非常困惑。 谢谢     
已邀请:
        静态/共享方法
IsBool
是类
CMS.Utility
的一部分,
CMS.Utility
类很可能具有静态构造函数(在Utility.vb的第12行附近)。 在首次使用该类型之前(即在执行called3ѭ之前),静态构造函数被调用一次。似乎其中存在导致空引用异常的错误。您可以在第12行附近张贴该方法的代码吗?     

要回复问题请先登录注册