[英]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.