2010-09-15 17 views

Odpowiedz

21
public class MyClass { 

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

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

Możesz mieć cokolwiek tam zamiast łańcucha. Teraz możesz zrobić obiekt MyClass i uzyskać dostęp do metody łonowej, zaimplementowanej w celu zwrócenia myList.

public class CallingClass { 

    MyClass myClass = new MyClass(); 

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

Niż za ten zwięzły przykład. – Brian

+0

Moja przyjemność :) Happy Coding –

+0

Dziękuję, to jest najbardziej przydatna i pomocna odpowiedź! – Stanojkovic

8

Aby utworzyć połączenie lista konstruktora listy:

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

Aby uczynić go dostępnym dla innych klas dodać obiekt publiczny, który naraża go.

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

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

Aby otworzyć listę z innej klasy trzeba mieć odniesienie do obiektu typu Foo. Zakładając, że masz takie odniesienie i nazywa się foo, możesz napisać foo.MyList, aby uzyskać dostęp do listy.

Być może zechcesz zachować ostrożność, jeśli bezpośrednio wystawisz Listy. Jeśli chcesz tylko zezwolić na dostęp tylko do odczytu, rozważ udostępnienie zamiast tego numeru ReadOnlyCollection.

+0

Dzięki Mark. Przepraszam, brzmi prosto, ale czy mógłbyś pokazać mi przykład dostępu do mojej listy od innej klasy? – Brian

+1

@Brian, Utwórz obiekt Foo w klasie dostępu jako Foo objFoo = new Foo(); a następnie dostęp do MyList jako List myList1 = objFoo.myList; – Simsons

+0

Jak to działa? Kiedy nazwiesz go w innej klasie, będzie to pusta lista. –