2016-03-31 47 views
0

我需要實體類傳遞到另一個類有一個方法,這是第二類如何傳遞類實體作爲參數?

public void AutoComplet(TextEdit text_searche, Class entity here) 
{ 
    AutoCompleteStringCollection collection = new AutoCompleteStringCollection(); 

    ArrayList fo = new ArrayList(); 

    fo = t.pms_product_ALLSelectlabo(); 

    foreach (Class entity here pr in fo) 
    { 
     collection.Add(pr.blabla); 
    } 

    text_searche.AutoCompleteSource = AutoCompleteSource.CustomSource; 
    text_searche.AutoCompleteMode = AutoCompleteMode.SuggestAppend; 
    text_searche.AutoCompleteCustomSource = collection; 
} 

,並在第一類,我需要做的是

optionDb.AutoComplet(searche, Class entity here); 

我怎麼能這樣做?

+0

你問如何傳遞_type_?什麼'pms_product_ALLSelectlabo'返回?是不是單一類型的集合? –

回答

0

如果你正在做有關最簡單的是爲使功能generic

public void AutoComplet<T>(TextEdit text_searche) 
{ 
    AutoCompleteStringCollection collection = new AutoCompleteStringCollection(); 

    ArrayList fo = new ArrayList(); 

    fo = t.pms_product_ALLSelectlabo(); 

    foreach (T pr in fo.OfType<T>()) 
    { 
     collection.Add(pr.blabla); 
    } 

    text_searche.AutoCompleteSource = AutoCompleteSource.CustomSource; 
    text_searche.AutoCompleteMode = AutoCompleteMode.SuggestAppend; 
    text_searche.AutoCompleteCustomSource = collection; 
} 

,並通過提供通用的參數調用它:

optionDb.AutoComplet<Class entity here>(searche); 

我也要建議使用強類型的集合而不是古老的ArrayList

+0

在邏輯是真實的,但在froeach clollection.add(pr.bllala)bllabal是一個在數據庫中提交所以現在怎麼可以現在正確 –

+0

不要忘記指定'where T:BaseTypeWithBlaBla' – RoadieRich

+0

+1但我必須在最適合的方法說明符typelalalal 所以我需要爲所有類實體寫更多然後一個mehtod –