从另一个类访问类变量

时间:2016-06-27 11:37:50

标签: c# oop

我的课程A包含List字段。

public class A
{
    public List<int> list = new List<int>();
}

我想从课程list中移除B中的元素而不在课程A static中创建列表。我怎么能这样做?

3 个答案:

答案 0 :(得分:6)

您可以在班级A中的方法中create an instance of class B。然后,您可以访问list字段,如下所示:

public class B
{
    void method()
    {
        A a = new A();
        int item = 2;
        a.list.Remove(item);
    }
}

答案 1 :(得分:1)

如果你不介意实例化它,那就简单

A a = new A();
a.list...

如果您不想实例化新的实例,可以在其构造函数上将现有实例传递给B:

public class B{

    private A myA;
    public B( A a) {
        this.myA = a;
    }
    public doSomething(){
        this.myA....
    }
}

现在你可以使用A作为B的字段。

答案 2 :(得分:1)

针对此问题的更多OOP解决方案是:

public class A
{
    private List<int> list = new List<int>();
    List<int> getList();
    void setList(List<int> list);
}

然后在使用它的代码中

A a = new A();
List<int> list = a.getList();
modify list as you want
a.setList(list);