建一工厂类,在工厂类中定义一个计数变量,通过工厂类中的一个方法创建你所指的那个类的实例 public class MailClass { static void Main(string[] args) { for (int i = 0; i < 3; i++) { ClassFactory.Create(); } Console.Read(); } } public class Class1 { } public class ClassFactory { static int num = 0; public static Class1 Create() { num++; Console.WriteLine("创建了第{0}个实例", num); return new Class1(); } }
上面的有点问题,还是可以通过 new 的方法创建出无数个实例 下面提供一个符合要求的 public class MailClass { static void Main(string[] args) { for (int i = 0; i < 3; i++) { Class1.GetInstance(); } Console.Read(); } } public class Class1 { private Class1() { } static int num = 0; public static Class1 GetInstance() { num++; Console.WriteLine("创建了第{0}个实例", num); if (num > 3) { throw new Exception("你最多只能创建三个实例"); } return new Class1(); } }
public class MailClass
{
static void Main(string[] args)
{
for (int i = 0; i < 3; i++)
{
ClassFactory.Create();
} Console.Read();
}
} public class Class1
{ } public class ClassFactory
{
static int num = 0; public static Class1 Create()
{
num++;
Console.WriteLine("创建了第{0}个实例", num);
return new Class1();
}
}
{
static void Main(string[] args)
{
for (int i = 0; i < 3; i++)
{
Class1.GetInstance();
} Console.Read();
}
} public class Class1
{
private Class1()
{
} static int num = 0; public static Class1 GetInstance()
{
num++;
Console.WriteLine("创建了第{0}个实例", num); if (num > 3)
{
throw new Exception("你最多只能创建三个实例");
} return new Class1();
}
}