繁体   English   中英

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

[英]C# - Passing the object type in a method parameter

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

例如:

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

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

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

编辑:

这是实体的一个例子

     public abstract class Entity 
     {
     public virtual long Id { get; set; }
     public virtual DateTime Created { get; set; }
     }

和用户对象:

     public class User : Entity
     {
     public string FirstName { get; set; }
     }

当我试图编写单个类来处理某些操作时,我需要在方法中知道我正在使用的对象(但是我现在想为每种对象类型创建一个方法)

谢谢

使方法通用:

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

我不确定,我正确理解了您的问题,但是您不能只使用通用参数吗?

public PageOf<Entity> GetPageOfEntity<TEntity>(int pageNumber, int pageSize) 
    where TEntity : Entity
{
// Here i need to work with the entity type to make calls to database  
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM