从另一个类访问列表

Bri*_*ian 7 c# inheritance dictionary scope list

任何人都可以告诉我如何在一个类中创建一个列表并从另一个类访问它?

sum*_*mer 24

public class MyClass {

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

    public List<string> GetList()
    {
        return myList;
    }
} 
Run Code Online (Sandbox Code Playgroud)

你可以在那里有任何东西而不是字符串.现在,您可以创建一个对象,MyClass并可以访问已实现返回的公共方法myList.

public class CallingClass {

    MyClass myClass = new MyClass();

    public void GetList()
    {
        List<string> calledList = myClass.GetList();
        ///More code here...
    }
}
Run Code Online (Sandbox Code Playgroud)


Mar*_*ers 8

要创建列表,请调用列表构造函数:

class Foo
{
    private List<Item> myList = new List<Item>();
}
Run Code Online (Sandbox Code Playgroud)

为了使其可以被其他类访问,添加一个公开它的公共属性.

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

    public List<Item> MyList
    {
        get { return myList; }
    }
}
Run Code Online (Sandbox Code Playgroud)

要从另一个类访问列表,您需要引用类型的对象Foo.假设您有这样的引用并且它被调用,foo那么您可以编写foo.MyList以访问该列表.

您可能需要小心直接暴露列表.如果您只需要允许只读访问,请考虑公开ReadOnlyCollection.