小编use*_*491的帖子

在C#中创建虚拟通用方法

我有一些像这样的基类:

public class AbstractData
{
    public int ID { get; set; }
}

public class Person: AbstractData
{
    public string Name { get; set; }
}

public class AbstractManager<T> where T: AbstractData
{
    public virtual List<T> GetAll()
    {
    }

    public virtual T GetOne(int id)
    {
    }
}

public class PersonManager: AbstractManager<Person>
{
    public override List<Person> GetAll()
    {
        //...
    }

    public override Person GetOne(int id)
    {
        //...
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我有一个Windows窗体基类,如下所示:

public class BaseForm: Form
{
    public virtual AbstractManager<T> GetManager<T>() where T: …
Run Code Online (Sandbox Code Playgroud)

c# generics methods virtual

7
推荐指数
2
解决办法
1853
查看次数

标签 统计

c# ×1

generics ×1

methods ×1

virtual ×1