C#函数和类帮助

时间:2011-04-17 10:20:30

标签: c# class list function reference

说我有

class temp {
  private List<temp3> aList = new List<temp3>();
  public List<temp3> getAList()
  {
     return this.aList;
  }
  public temp() {
  }
}

class temp3 {
  public temp3() {}
}

现在我有另一个班级

class temp2 {
  private temp t = new temp();

  t.aList.Add(new temp3()); 
}

t.getAList.Add(new temp3());

真的将temp3添加到临时类中的aList吗?

3 个答案:

答案 0 :(得分:2)

没有

该行应为:

 t.getAList().Add(new temp3()); 
阅读评论后

编辑:将该行放入方法中。

答案 1 :(得分:2)

temp.aList是私有的,所以不行不通。您想要做的是向temp类添加属性:

public List<temp3> AList  
{  
    get {return aList;}  
    set {aList = value;}  
}

然后将其用作t.AList.Add(new temp3())

正如Akram Shahda在评论中指出的那样,你必须在课堂上创建一个方法 为了它。你不能直接在课堂上使用这样的语句。

答案 2 :(得分:0)

aList是私密的,你无法通过这种方式联系t.aList.Add(new temp3());。 你应该使用像getAList()

这样的get方法t.getAList.Add(new temp3());

以下代码执行您想要做的事情

使用System; 使用System.Collections.Generic; 使用System.Linq; 使用System.Text;

namespace Project4
{
  class temp {
  private List<temp3> aList = new List<temp3>();
  public List<temp3> getAList
  {
     get{return aList;}
      set{aList = value;}
  }
  public temp() {
  }
}

class temp3 {
  public temp3() {}
}

class temp2 {
    public static void Method()
    { 
        temp t = new temp();
        t.getAList.Add(new temp3());
    }

}
}