C# 注入适当的C类#

C# 注入适当的C类#,c#,inheritance,.net-core,C#,Inheritance,.net Core,我需要一些关于如何更好地组织我的课程的建议 我有通用接口和类: public interface IReader { IEnumerable<Change> ReadChanges(string log, int count, string from); } 我想让它更通用,而不是使用ifI可以传递这个通用方法 因此,这就像: var changes = _Reader.ReadChanges(_count, from) 这可能吗?考虑在接口中添加一个方法,或者

我需要一些关于如何更好地组织我的课程的建议

我有通用接口和类:

public interface IReader
{
        IEnumerable<Change> ReadChanges(string log, int count, string from);
}
我想让它更通用,而不是使用
if
I可以传递这个通用方法

因此,这就像:

var changes = _Reader.ReadChanges(_count, from)


这可能吗?

考虑在接口中添加一个方法,或者在派生的具体类中覆盖它,这样您就可以对所有这些类调用IConcreteClass.LogMethod(),使它们对自己的日志记录方式负责。

也许您可以提供一个小示例?
 public class SpecificReader
    {
        private readonly IReader _reader;

        public SpecificReader(IReader reader)
        {
            _reader = reader;
        }

        public IEnumerable<Change> ReadChanges(int count, string from)
        {
            return _changesReader.ReadChanges("specific log", count, from);
        }
    }
var changes = _type == MyType.SpecificReader
                ? _specificReader.ReadSpecific(_count, from)
                : _somethingElse.ReadSomethingElse(_count, from);
var changes = _Reader.ReadChanges(_count, from)