【发布时间】:2021-03-25 10:00:44
【问题描述】:
假设我有以下具有通用接口的类:
public class MyClass_1 : IGenericInterface
{
public void foo()
{
bar();
}
void bar()
{
...
}
}
public class MyClass_2 : IGenericInterface
{
public void foo()
{
bar();
}
void bar()
{
...
}
}
public interface IGenericInterface
{
void foo();
}
它们都有公共的“foo”函数,而且它的实现也是一样的。所以我倾向于将“foo”移到抽象中,不是吗?
现在,问题是,他们调用了一个私有函数(“bar”),这是一个特定于类的实现。如何使这个函数“bar”对“foo”的可能通用实现可见?
例如
public abstract class MyGenericClass: IGenericInterface
{
public foo()
{
bar();
}
}
那么目标是特定类继承自通用类:
public class MyClass_1 : GenericClass
{
private void bar()
{
...
}
}
public class MyClass_2 : GenericClass
{
private void bar
{
...
}
}
【问题讨论】: