System.TypeInitializationException对Class的FORM访问

时间:2017-09-11 11:00:42

标签: .net excel vb.net exception typeinitializeexception

我正在开发一个项目,我需要调用一个我创建和管理excel文件的类。但由于未定义的原因,我不能从我的FORM中调用此函数。它返回一个异常,如下所示:System.TypeInitializationException。我检查了我的课,但我没有看到什么是错的。

我要调用Excel_Management类的表单:

public List<ContactName> ItemsList { get; } = new List<ContactName>() { new ContactName { Name = "Name01" }, new ContactName { Name = "Name02" }, new ContactName { Name = "Name03" } };

Excel_Management类:

#include <iostream>
using namespace std;

template <typename T>
void func (T& Array)
{
    cout << "Hi";
}

int main ()
{
    int size = 100;
    int arr [100];
    int arr1 [size];
    func (arr);   // compiled
    func (arr1);  // gives error
}

您是否可以在我的代码中看到任何不允许我访问我的Excel类的问题?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

我认为问题在于,您无法按照自己的方式创建New Excel.Workbook,因为它是一个界面。

尝试改为:

Public Shared wbExcel As Excel.Workbook = appExcel.Workbooks.Add(System.Reflection.Missing.Value)

从这里:Strange error on Excel Workbook input,或该问题的其他解决方案之一。

此外,您的Regex.Match无法在对象上进行匹配。我不知道myValue是什么,但一个选项取决于它可能是什么:

Regex.Match(myValue.ToString, "[^a-z0-9]")

最后,如果您在Visual Studio中使用调试器来打破它们,这些错误将会很明显。转到&#34; DEBUG&#34;菜单&gt; &#34;例外...&#34;并勾选&#34; Common Language Runtime Exceptions&#34;在&#34; Thrown&#34;柱。这应该可以帮助您调试任何其他错误。