【发布时间】:2017-05-16 17:37:10
【问题描述】:
我是 C# 新手(第一篇文章),目前正在解决有关“封装”的问题。 基本上我有两个这样的类(简化):
class Myclass
{
private List<X> _list;
public List<X> list
{
get
{
return _list;
}
}
...
public Myclass (List<X> input)
{
_list = new List <X>(input);
}
...
}
class Testclass
{
List<X> inputList = new List<X>() {"bla", "bla"};
Myclass myclass = new Myclass(inputlist);
myclass.list.Clear();
List<X> newL = myclass.list;
}
我不应该对第二类“Testclass”进行任何更改。
这是我的问题: myclass.list.Clear() 清除公共列表和私有列表。但我只希望它清除公共列表或什么都不做,因为最后我需要列表 newL 填充私人列表中的项目(通过 get-accessor 的公共列表)。
因为我应该在不接触第二节课的情况下解决问题,所以我不知道该怎么办。 有人告诉我,公共列表称为属性,对吗?如果有,公开名单叫什么?
就像我说的,我在一般编程方面相当糟糕/新手(19 岁),所以非常感谢初学者友好的答案!
【问题讨论】:
标签: c# list private encapsulation