可以将构造函数private 掉,然后定义public method 调用 ctor.

解决方案 »

  1.   

    class aa{
      private aa(){}
      public static aa newInstance(string s){
         if (...)
            return new aa();
      }
    }
      

  2.   

    To larson(Unkonwn) :能否给出具体代码?
      

  3.   

    To evonne_feng(evonne):
    静态构造函数是不能有参数,也不能有修饰符的,呵呵。
      

  4.   

    GSDN(今年的烟花特别多),evonne_feng(evonne)的例子有问题吗?
      

  5.   

    To  larson(Unkonwn) :
    evonne_feng(evonne)的例子确实有问题,看不出?
      

  6.   

    // TestRegEx.csnamespace Com.BCL.Dept2.CSharp.Test {
        using System;
        using System.Text.RegularExpressions;
        
        class Singleton{
       private Singleton(){ Console.WriteLine("Singleton.");}
       private Singleton(string msg) { Console.WriteLine(msg);}
       public static Singleton newInstance(string s){
          if (s=="0")
             return new Singleton();
            if (s!="0")
             return new Singleton(s);
            
             return null;
       }
    }
        
        public sealed class TestRegEx {
          public static void Main(string[] args) {
           Singleton.newInstance(args[0]);
          }
        }
    }...