簡體   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