提问者:小点点

如果使用own类型定义list,则不初始化C#静态类


我有一个带有字符串的静态类,例如用于路径定义,但它也用于静态列表。现在我有一个问题,当我启动我的启动程序时,当我将列表写入我的静态类时,我的静态类没有初始化。

例如:

static class Data
{
    public static string path_1 = "B:\myFolder\test.txt";
}

-->;类将在程序启动时初始化(data.path_1=“b:\MyFolder\test.txt”)

 class MyObject
 {
      string name = null;
      object data = null;
 }

static class Data
{
    public static string path_1 = "B:\myFolder\test.txt";

    public static list<MyObject> myList = new list<MyObject>();
}

-->;程序启动时不会初始化类(data.path_1=null,data.mylist=null)

当程序查询该值时,我得到一个期望:

TypeInitializationException:#Module#的类型初始值设定项引发异常

内部异常

FileNotFoundException:找不到文件或程序集“System.Runtime,Version=4.2.2.0,Culture=neutral,PublicKeyToken=B03F5F7F11D50A3A”或其依赖项。系统找不到指定的文件。

编辑:一个静态类,只有像“String”或“ScrollViewer”(WPF-Control)类型的列表工作。

注意:我的列表使用我自己的库或程序中的对象


共1个答案

匿名用户

当您尝试使用静态变量时,它们将被初始化

静态变量何时在C#中初始化?

您的问题正是异常所说的,您需要导入包System.Runtime。

这可能对你有帮助

Visual Studio 2017-无法加载文件或程序集“System.Runtime,Version=4.1.0.0”或其依赖项之一