Static class, NullReferenceException

本文关键字:NullReferenceException class Static | 更新日期: 2023-09-27 18:02:15

为什么我在这里得到一个NullReferenceException ?

我也尝试使用静态构造函数,但也没有帮助。当我在方法中放置一个断点时,我只看到"Command c"变量,而不是这个静态类的变量。

static class TableManager
{
    public static Dictionary<Guid, Table.AbstractTable> Tables = new Dictionary<Guid, AbstractTable>();
    public static bool CreateTable(Command c)
    {
        if (!Tables.ContainsKey(c.Table.TableID))
        {
            //Do magic
            return true
        }
        else
        {
            //Table already exists, return false.
            return false;
        }
    }
}

Static class, NullReferenceException

 public static bool CreateTable(Command c)
 {
        if(c != null && c.Table != null)
        {
             if (!Tables.ContainsKey(c.Table.TableID))
             {
                 //Do magic
                 return true
             }
             else
             {
                //Table already exists, return false.
                return false;
             }
         }
         else
         {
             //Ouch!! c or c.Table are null man
         }
  }