2010-09-15 21 views

Respuesta

21
public class MyClass { 

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

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

Puede tener cualquier cosa allí en lugar de cadena. Ahora puede hacer un objeto de MyClass y puede acceder al método público donde lo ha implementado para devolver myList.

public class CallingClass { 

    MyClass myClass = new MyClass(); 

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

Que usted por este sucinto ejemplo. – Brian

+0

Mi placer :) Happy Coding –

+0

¡Gracias, esta es la respuesta más útil y útil! – Stanojkovic

8

Para crear una llamada de la lista de la lista constructor:

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

para que sea accesible a otras clases añadir un alojamiento público que se expone.

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

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

Para acceder a la lista de otra clase que necesita tener una referencia a un objeto de tipo Foo. Suponiendo que tiene dicha referencia y se llama foo, puede escribir foo.MyList para acceder a la lista.

Es posible que desee tener cuidado al exponer Listas directamente. Si solo necesita permitir el acceso de solo lectura, considere exponer un ReadOnlyCollection.

+0

Gracias Mark. Perdón por sonar simple, pero ¿podría mostrarme un ejemplo de cómo accede a myList desde otra clase? – Brian

+1

@Brian, crea un objeto de Foo en la clase de acceso como Foo objFoo = new Foo(); y luego acceda a MyList como List myList1 = objFoo.myList; – Simsons

+0

¿Cómo funciona? Cuando lo llames en otra clase, será una lista vacía. –

Cuestiones relacionadas