现在在父类里写了个方法
abstract protected Hashtable ReadRecord(MarshalByRefObject 
reader);子类中重写这个方法
protected override Hashtable ReadRecord(SqlDataReader reader)

protected override Hashtable ReadRecord(OleDbDataReader reader)可是这样总出错,我是想在子类中,给参数的类型固定住 ,不知道应该怎么
写呀,父类中的MarshalByRefObject 是我查MSDN中子类的父类

解决方案 »

  1.   

    我的意思就是,希望子类只能传对应的类型,
    如果A类是重写传参类型SqlDataReader,B类重写传参类型是OleDbDataReader
    那么AB二个类就不能混用了!
      

  2.   

    子类中重写这个方法
    protected override Hashtable ReadRecord(MarshalByRefObject reader)

    protected override Hashtable ReadRecord(MarshalByRefObject reader)
    {
       SqlDataReader myreader = reader as SqlDataReader;
    }
      

  3.   

    abstract protected Hashtable ReadRecord(IDataReader
    reader);
      

  4.   

    handysoft(非我不可) ( ) 信誉:100    Blog  2006-12-01 11:13:46  得分: 0  
     
     
       我的意思就是,希望子类只能传对应的类型,
    如果A类是重写传参类型SqlDataReader,B类重写传参类型是OleDbDataReader
    那么AB二个类就不能混用了!
      
     
    ------------------------------------既然这样,那你告诉我,你为什么还要搞这样一个父类?
    如果已经明确要求他们的参数不能一样,干吗还要抽象一个父类?
      

  5.   

    考虑泛型
    public class A<T>
    {
    abstract protected Hashtable ReadRecord(T reader);
    }pulic classB : A<SqlReader>
    {
       override Hashtable ReadRecoed(SqlReader reader);
    }