【发布时间】:2011-07-27 12:21:39
【问题描述】:
我正在尝试将对象类型传递给方法。我正在为其他存储库继承的 CRUDRepository 执行此操作,但我不知道如何知道我正在处理的类型。
例如:
public PageOf<Entity> GetPageOfEntity(int pageNumber, int pageSize)
{
// Here i need to work with the entity type to make calls to database
}
Entity 是由其他实体(用户、产品等)继承的对象,此方法返回分页结果。我这样做是为了避免为我拥有的每个实体创建一个 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; }
}
当我试图编写一个类来处理一些杂乱的操作时,我需要在方法中知道我正在使用什么对象(但我现在正试图为每种对象类型创建一个方法)
谢谢
【问题讨论】:
-
多一点代码和细节会有所帮助。您是否正在寻找传递类型?可能你可以有一个
T类型的入站参数,然后可能实例化并在实例上执行 GetType() 以检查它是什么类型并构建该类型的 pageOf 并返回。 -
我认为他要问的是如何将 T 解析回数据上下文中的表..
-
不是真的,我以前问过这个。检查日期。
标签: c# inheritance