Список доступа из другого класса - PullRequest
6 голосов
/ 15 сентября 2010

Может кто-нибудь сказать мне, как создать список в одном классе и получить доступ к нему из другого?

Ответы [ 3 ]

22 голосов
/ 15 сентября 2010
public class MyClass {

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

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

У вас может быть что угодно вместо строки. Теперь вы можете создать объект MyClass и получить доступ к общедоступному методу, в котором вы реализовали возвращение myList.

public class CallingClass {

    MyClass myClass = new MyClass();

    public void GetList()
    {
        List<string> calledList = myClass.GetList();
        ///More code here...
    }
}
8 голосов
/ 15 сентября 2010

Чтобы создать список, вызовите конструктор списка:

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

Чтобы сделать его доступным для других классов, добавьте открытое свойство, которое предоставляет его.другой класс, вам нужно иметь ссылку на объект типа Foo.Предполагая, что у вас есть такая ссылка и она называется foo, вы можете написать foo.MyList, чтобы получить доступ к списку.

Возможно, вы захотите быть осторожными, предоставляя списки напрямую.Если вам нужно только разрешить доступ только для чтения, рассмотрите возможность предоставления ReadOnlyCollection.

0 голосов
/ 23 июля 2018

Если вам нужен список, объявленный как статическое свойство

class ListShare 
{
    public static List<String> DataList { get; set; } = new List<String>();
}

class ListUse
{
    public void AddData()
    {
        ListShare.DataList.Add("content ...");
    }

    public void ClearData()
    {
        ListShare.DataList.Clear();
    }
}
...