首页 > 解决方案 > C# ASP.NET Core - 返回 T 类型属性的通用方法

问题描述

我想返回传递给我的泛型函数的 T 型属性,但我找不到实现它的方法。我想做这样的事情(实际上可以编译和工作):

假设我有以下 DbSet 类型的属性:

public DbSet<Colegio> Colegios { get; set; }
public DbSet<Clase> Clases { get; set; }
public DbSet<Persona> Personas { get; set; }
public DbSet<Profesor> Profesores { get; set; }
public DbSet<Alumno> Alumnos { get; set; }

我希望我的通用方法返回 T 类型的那些 DbSet:

public DbSet<T> GetDbSetByType<T> ()
    {
        // Code to return one of the DbSet which match the type T 
        // So If T is of type Colegio it will return the DbSet<Colegio> Colegios which is declared above.
    }

所以我可以这样称呼它:

DbSet<alumno> alumnos = _contextDB.GetDbSetByType<Alumno>() 

并获取 DbSet Alumnos 属性。

欢迎任何提示或更好的方法来做到这一点。

谢谢你们。

标签: c#asp.netgenerics

解决方案


推荐阅读