我正在努力使用单例设计模式。我正在尝试在这个简单的控制台应用程序中使用它。我在 Program 类的 Main 方法中遇到了问题。我想从 Singleton 类定义对象,例如:var data = Singleton.Instance;但我不知道为什么我不能这样做另外,我不知道为什么我在运行程序时收到以下错误消息:
Unhandled Exception: System.NullRefernceException: Object reference not 
  set to an instance of an object.
那么如何解决呢?
单例类:
namespace Singleton
{
    class Singleton
    {
        //Variable
        private static Singleton instance;
        private List<string> Messages;
        //Constructor
        private Singleton() { }
        //Property
        public static Singleton Instance
        {
            get 
            {
                if (instance == null)
                {
                    instance = new Singleton();
                }
                return instance;
            }
        }
        //Methods
        public void Message(string message)
        {
            Messages.Add(message);
        }
        public bool HasMessage(string message)
        {
            return Messages.Contains(message);
        }
    }
}
节目类:
namespace Singleton
{
    class Program
{
    static void Main(string[] args)
    {
        var data = Singleton.Instance;
        Singleton.Instance.Message("Hello World!!!");
        if(Singleton.Instance.HasMessage("12"))
            Console.WriteLine("NO STRING!!!");
        else
            Console.WriteLine("There is a match");
    }
}
}
更新:
伙计们,到目前为止,我非常感谢您的帮助。该程序现在正在运行,但逻辑不起作用。如果您查看主程序,您会看到列表中只有“Hello World!!!”。但是,当我使用 HasMessage 方法时不起作用。因为程序一直显示“有匹配”。但它应该告诉我“没有字符串!!!” 因为没有匹配。那么如何解决呢?