我想问前辈们,在类的定义中,能不能规定只能被某个类继承
不能被以外的类继承,谢谢

解决方案 »

  1.   

    先用 sealed 修饰类,让此不能被继承,再在此类里面声明一个友元类。楼主可一试。祝你好运。
      

  2.   

    可以的,楼上的正解,在父类的构造函数里限制.如下所示:
     public class So 
       {
         public So()
         {
             if (this is S1)
                 throw new Exception();
         }
        }    public class S1 :So
        {
         
        }    public class S2:So
        {    }你在执行 S1 s1 = new S1();会抛出异常,但执行 S2 s2= new S2() 却能OK
      

  3.   

    呵呵,你在IF那里用一个! (this is S1) 就可以了嘛
      

  4.   

    还有一个问题,要是    public class So
        {
            static So()
            {
                if (this is S1)
                {
                    throw new Exception();
                }
            }
        }会出错,应该怎么改