2009-08-19 2 views
0

Ich wurde mit so etwas wieVerwenden Sie eine ObjectCollection als Parameter, um ein neues Steuerelement zu erstellen?

public int Test (System.Windows.Forms.ListBox.ObjectCollection Colecction) {}

Damit ich nur die Object der Steuerung übergeben will, sortieren, hinzufügen und Lösche Elemente, ohne das gesamte Steuerelement zu übergeben, aber jemand hat mir gesagt, dass diese Art, die Sammlung aufzurufen, tatsächlich eine ganze ListBox erzeugt, was es zu einer schlimmsten Entscheidung macht, als eine ListBox als Parameter zu übergeben.

Ist es wahr? Ein, wenn, was ist die beste Art mit der Sammlung zu arbeiten?

Antwort

0

Nein, es wird kein vollständiges Listenfeld erstellt. Sie übergeben einfach die Referenz zur Sammlung. Wenn das alles ist, was Sie brauchen, ist das in Ordnung. Sie sollten jedoch feststellen, dass es keinen Unterschied zwischen der Übergabe der Sammlung und der Übergabe des gesamten Listenfelds gibt. Sie sind beide nur Referenzen, so dass keiner effizienter ist als der andere.

0

Ich bin mir nicht ganz sicher, was Sie meinen, aber wenn Sie sagen, dass Sie das "gesamte" Steuerelement übergeben, denken Sie daran, dass Sie nur einen Verweis auf ein Objekt und nicht das gesamte Objekt übergeben.

+0

Nun, ich dachte immer eine ListBox als Parameter übergeben wurde es immer als Referenz übergeben, nicht die Kontrolle itsef, aber jemand hat mir gesagt, dass es nicht war, also habe ich diesen Code verwendet. Ich denke, es gibt kein Problem mit der einen oder anderen Option Vielen Dank! –