2010-09-15 11 views

Répondre

21
public class MyClass { 

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

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

Vous pouvez avoir n'importe quoi à la place de la chaîne. Vous pouvez maintenant créer un objet de MyClass et accéder à la méthode publique où vous avez implémenté myList.

public class CallingClass { 

    MyClass myClass = new MyClass(); 

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

Que vous pour cet exemple succinct. – Brian

+0

Mon plaisir :) Happy Coding –

+0

Merci, c'est la réponse la plus utile et la plus utile! – Stanojkovic

8

Pour créer un appel liste le constructeur de liste:

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

Pour le rendre accessible à d'autres classes d'ajouter une propriété publique qui l'expose.

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

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

Pour accéder à la liste d'une autre classe que vous devez avoir une référence à un objet de type Foo. En supposant que vous avez une telle référence et il est appelé foo alors vous pouvez écrire foo.MyList pour accéder à la liste.

Vous pouvez faire attention à exposer les listes directement. Si vous avez seulement besoin d'autoriser l'accès en lecture seule, envisagez d'exposer un ReadOnlyCollection à la place.

+0

Merci Mark. Désolé de paraître simple mais pourriez-vous me montrer un exemple de la façon dont vous accédez à myList d'un autre cours? – Brian

+1

@Brian, Créer un objet de Foo dans la classe accédante comme Foo objFoo = new Foo(); puis accédez à MyList en tant que liste myList1 = objFoo.myList; – Simsons

+0

Comment ça marche? Quand vous l'appelez dans une autre classe, ce sera une liste vide. –