0

我在 c#.net 中创建了一个名为“Exam”的类库中的类。在我的 Windows 窗体中,我创建了一个像“

static Exam obj= new Exam();
  1. 会发生什么?
  2. 我可以使用 new 运算符重新初始化此对象吗?
  3. 如果我重新初始化这个对象,是分配新内存还是使用相同的内存?
  4. 我怎样才能销毁这个对象,因为它是静态的,所以该对象在应用程序关闭之前都可用?
4

1 回答 1

0

当我们应该只允许为一个类(单例)创建一个实例时,我们将实际使用它。

 public class Exam
    {
        private static Exam exam = null;

        public string Id { get; set; }


        public static Exam getInstance()
        {

            if (exam == null)
            {
                exam = new Exam();
                exam.Id = IdGenerator.GenerateId();
            }

            return exam;
        }
    }

//呼叫者

Exam exam = Exam.getInstance();

                Console.WriteLine(exam.Id);

                Exam exam2 = Exam.getInstance();

                Console.WriteLine(exam2.Id);

//尽管您创建了两个实例,但请检查两者的 ID .. 它们看起来相似。

//此实例将在应用程序退出之前可用。

希望这能回答你的问题

于 2013-03-13T13:25:33.297 回答