抽象类设置:

抽象类不要用作泛型,会影响最后在容器泛型中直接使用抽象类进行访问

对于可能需要的对子类的内容访问,可以使用接口或者抽象方法的形式,

image-20240812215704428

image-20240812215811336

image-20240812215906099

接口

接口方法被抽象类实现后前面加上virtual关键字可以被抽象类的实现类重写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

public interface IRefresh
{
/// <summary>
/// 页面数据刷新
/// </summary>
void Refresh<T>(T data) where T : RefreshData<T>, new();
}


public abstract class A : IRefresh
{
public virtual void Refresh<T>(T data) where T : RefreshData<T>, new()
{


}
}

public abstract class B : A
{

public override void Refresh<T>(T info)
{
base.Refresh();
}
}