C# - 在方法参数中传递对象类型

Gui*_*Gui 0 c# inheritance

我正在尝试将对象类型传递给方法.我正在为我的CRUDRepository执行此操作,这是由其他存储库继承的,但我无法弄清楚如何知道我正在处理的类型.

例如:

    public PageOf<Entity> GetPageOfEntity(int pageNumber, int pageSize)
    {
    // Here i need to work with the entity type to make calls to database  
    }
Run Code Online (Sandbox Code Playgroud)

实体是可以被其他实体(用户,产品,等等),并且该方法返回一个分页结果继承一个对象.我这样做是为了避免为每个实体创建一个GetPageOf方法.

将我想要处理分页结果的对象类型传递给方法的正确方法是什么?

编辑:

这是实体的一个例子

     public abstract class Entity 
     {
     public virtual long Id { get; set; }
     public virtual DateTime Created { get; set; }
     }
Run Code Online (Sandbox Code Playgroud)

而用户对象:

     public class User : Entity
     {
     public string FirstName { get; set; }
     }
Run Code Online (Sandbox Code Playgroud)

因为我正在尝试编写单个类来处理一些crud操作,我需要在方法中知道我正在使用什么对象(但我现在尝试为每个对象类型创建一个方法)

谢谢

Tho*_*que 5

使方法通用:

public PageOf<TEntity> GetPageOfEntity<TEntity>(int pageNumber, int pageSize)
    where TEntity : Entity
{
    Type entityType = typeof(TEntity);
    ...
}
Run Code Online (Sandbox Code Playgroud)