2010-09-15 12 views

risposta

21
public class MyClass { 

    private List<string> myList = new List<string>(); 

    public List<string> GetList() 
    { 
     return myList; 
    } 
} 

È possibile avere qualsiasi cosa al posto della stringa. Ora puoi creare un oggetto di MyClass e accedere al metodo pubico in cui hai implementato la restituzione di myList.

public class CallingClass { 

    MyClass myClass = new MyClass(); 

    public void GetList() 
    { 
     List<string> calledList = myClass.GetList(); 
     ///More code here... 
    } 
} 
+0

Di voi per questo esempio succinto. – Brian

+0

My Pleasure :) Happy Coding –

+0

Grazie, questa è la risposta più utile e utile! – Stanojkovic

8

Per creare una chiamata lista costruttore lista:

class Foo 
{ 
    private List<Item> myList = new List<Item>(); 
} 

per renderlo accessibile ad altre classi aggiungere un alloggio pubblico che lo espone.

class Foo 
{ 
    private List<Item> myList = new List<Item(); 

    public List<Item> MyList 
    { 
     get { return myList; } 
    } 
} 

Per accedere all'elenco da un'altra classe è necessario disporre di un riferimento a un oggetto di tipo Foo. Supponendo di avere un tale riferimento e si chiama foo allora si può scrivere foo.MyList per accedere all'elenco.

Si consiglia di prestare attenzione all'esposizione diretta degli elenchi. Se è solo necessario consentire l'accesso in sola lettura, considerare l'esposizione di ReadOnlyCollection.

+0

Grazie Mark. Mi dispiace sembrare semplice ma potresti mostrarmi un esempio di come accedi a myList da un'altra classe? – Brian

+1

@Brian, Crea un oggetto di Foo nella classe di accesso come Foo objFoo = new Foo(); e quindi accedere a MyList come lista myList1 = objFoo.myList; – Simsons

+0

Come funziona? Quando lo chiami in un'altra classe sarà una lista vuota. –