我的WinForms应用程序中有两种不同的表单(例如MainForm和Form2)。它们都要求通过“ getInstance”静态方法访问MyDataSet。问题是MainForm获得实例后,当Form2需要获得实例时,静态“ myDataSet”变量为null,而我希望已经被设置了吗?有任何想法吗?

public class MyDataSet
{
    public static MyDataSet myDataSet;
       // This was null 2nd call to getInstance

    private DataSet myData = new DataSet();

    public static MyDataSet GetInstance()
    {
        if (myDataSet == null)
        {
            return new MyDataSet();
        }
        else
        {
            return myDataSet;
        }
    }


如此看来,静态“ myDataSet”变量似乎仅具有一次实例就不起作用了?

最佳答案

您忘记将新创建的实例分配给myDataset

if(myDataSet == null)
{
    myDataSet = new MyDataSet();
}
return myDataSet

10-08 05:17