不太明白你的意思,不过觉得没有问题,比如:
abstract class a
{
public abstract void fa();
public virtual void fb() { }
}
abstract class b : a
{
public override void fa()
{ } public new void fb()
{

}
}

解决方案 »

  1.   

    我的意思是从非抽象类派生出一个抽象类,
     class b
    {
    public virtual void fb() 
             {
               //doing something
              
             }

    }
    abstract class a : b
    {
    public abstract override void fb();
    }
    这样有问题吗?
      

  2.   

    有问题,会覆盖掉基类里面的方法,要不加上new,要不你就override
      

  3.   

    class class_a
        {
            public virtual void sub_a()
            { 
            
            }        public void sub_b()
            {        }
        }    abstract class class_b : class_a
        {
            public override void sub_a()
            {
                
            }        public new void sub_b()
            {
                
            }
        }这样也可以的,不过从一般类派生抽象类不符合逻辑呀~
      

  4.   

    class class_a
        {
            public virtual void sub_a()
            { 
            
            }        public void sub_b()
            {
                console.writeline("this is class_a");
            }
        }    abstract class class_b : class_a
        {
            public override void sub_a()
            {
                
            }
        }
      class class_c:class_b
      {  }
      
        class Program
        {
            static void Main(string[] args)
            {
                class_c obj = new class_c();
                obj.sub_a();
                obj.sub_b();
                Console.Read();
            }
        }运行后照样可以,输出   "this is class_a"