2016-03-31 12 views
0

Ich brauche Klasse Einheit in einer anderen Klasse passieren haben eine Methode, um diese in der zweiten Klasse istWie kann ich Klassenentität als Parameter übergeben?

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; 
} 

und in der ersten Klasse I, dass

optionDb.AutoComplet(searche, Class entity here); 

Wie tun müssen, kann ich das tun?

+0

Fragen Sie, wie Sie den _type_ übergeben? Was gibt 'pms_product_ALLSelectlabo' zurück? Ist das nicht eine Sammlung eines einzigen Typs? –

Antwort

0

Wenn Sie über die Art sind unter die einfachste war, ist die Funktion generic zu machen: es

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; 
} 

und rufen durch den generischen Parameter liefert:

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

Ich würde auch empfehlen, stark typisierte Sammlungen anstelle des archaischen ArrayList zu verwenden.

+0

In der Logik ist wahr, aber in der froesche clollection.add (pr.bllala) bllabal ist ein in der Datenbank abgelegt, so wie kann jetzt das Feld genau –

+0

Vergessen Sie nicht zu spezifizieren, wo T: BaseTypeWithBlaBla' – RoadieRich

+0

+1 aber ich muss in der fitst Methode Spezifizierer die typblalalal so muss ich mehr als eine Mehtod für alle Klasseneinheit –

Verwandte Themen