继承的类对象未显示基类方法

时间:2019-05-29 10:51:12

标签: c# inheritance

我想在基类中放置一个方法,以免在继承的类中重复该方法。有用于基类和继承的类的接口。创建继承的类对象后,将无法使用要使用的基类方法。 ??怎么了?

谢谢。

public interface IRepository
{
    string GetError(string LogNumber);
}

public class Repository : IRepository
{
    public Repository()
    {
    }

    public string GetError(string LogNumber)
    {
        return "The error is " + LogNumber;
    }
}

public interface ICustomerRepository
{
    // READ
    List<Customer> ReadAll();

}

public class CustomerRepository : Repository, ICustomerRepository
{
    public CustomerRepository() : base()
    {
    }


    public List<Customer> ReadAll()
    {
        return fooFunction();
    }
}

CustomerRepository myRepository = new CustomerRepository()
myRepository.

2 个答案:

答案 0 :(得分:0)

您是否要将这些语句放在课堂之外?如果是,则应将它们放在方法内,最好放在main方法内。 另外,在对象初始化结束时缺少分号。

“ CustomerRepository myRepository =新的CustomerRepository() ;

myRepository。”

尝试更正,您将可以从基类访问该方法。

答案 1 :(得分:0)

我认为您的代码工作正常。请检查以下解决方案

 public Form1()
        {
            InitializeComponent();
            CustomerRepository myRepository = new CustomerRepository();
            myRepository.GetError("string error");

        }
        public interface IRepository
        {
            string GetError(string LogNumber);
        }

        public class Repository : IRepository
        {
            public Repository()
            {
            }

            public string GetError(string LogNumber)
            {
                return "The error is " + LogNumber;
            }
        }

        public interface ICustomerRepository
        {
            // READ
            List<Customer> ReadAll();

        }

        public class CustomerRepository : Repository, ICustomerRepository
        {
            public CustomerRepository() : base()
            {
            }


            public List<Customer> ReadAll()
            {
                List<Customer> list;
                return list = new List<Customer>();
            }
        }

        public class Customer
        {
        }