C# get Set 属性 疑难???

按道理说  private List<string> m_sList = new List<string>();public List<string> ItemList        {            get             {                return m_sList;            }                    }为什么能给 这个 list<string>  赋值?MyCollection objMyCol = new MyCollection();            objMyCol.ItemList.Add("aditya");而且不报错?

第1个回答  2011-10-26
private List<string> m_sList;
public List<string> SList
{
get { return m_sList; }
set { m_sList = value; }
}

MyCollection objMyCol = new MyCollection();
objMyCol.ItemList.Add("aditya");
上边那个属于字段,
下边这个属于集合(属于对象) 。赋值方法不同而已。
这才给这个get 赋值或set取值了
第2个回答  2011-10-26
这个是可以理解的
因为他有get方法,所以你能取到这个List对象,
objMyCol.ItemList.Add("aditya");你是对你取到的List对象进行操作,而不是对属性ItemList进行赋值操作,
如果是这样:
List<string> lst= new List<string>();
objMyCol.ItemList = lst;
才会报错了!因为你是给属性赋值了,但这个属性没有Set方法,所以会报错!本回答被提问者采纳
第3个回答  2011-10-28
ItemList.Add只是对这个集合对象进行操作,并未改变其引用。
第4个回答  2011-10-26
这个问题我真没遇到过,应该说不能赋值

C# get Set 属性 疑难???
get { return m_sList; } set { m_sList = value; } } MyCollection objMyCol = new MyCollection();objMyCol.ItemList.Add("aditya");上边那个属于字段,下边这个属于集合(属于对象) 。赋值方法不同而已。这才给这个get 赋值或set取值了 ...

c# 中get set的问题
当读取属性时,执行 get 访问器的代码块;当向属性分配一个新值时,执行 set 访问器的代码块。不具有 set 访问器的属性被视为只读属性。不具有 get 访问器的属性被视为只写属性。同时具有这两个访问器的属性是读写属性。与字段不同,属性不作为变量来分类。因此,不能将属性作为 ref(C# 参考)...

请教c#\/vb.net高手{ get; set; }属性的写法问题。
set { name= value; } } 这种写法在一般时候很好,但是有一种情况你不得不放弃这种写法,那就是你要在里面进行校验的时候,比如set中有运算或者校验之类的,get中有转换等等,这种情况下,你就必须老老实实的写个完整的才可以。

C#里 get set 的问题
这个问题,属于C#中的属性控制范畴。1.这个属性名称为Age。2.这个属性有两个访问控制器set,get,给Age属性赋值用set,获取Age属性的值用get。如果,在Age属性所在类的内部访问,那么,既可以用age,也可以用Age访问这两个访问器。如果在Age属性所在类之外访问,那么只能用Age访问这两个访问器。学习C#...

c# 中有关get、set、value的问题
Integer是MyClass的属性~~~ 有get、set关键字的,都是属性~~~class MyClass { int integer;public int Integer { get {return integer;} set {integer=value;} public int IntegerDemo( int nun){ this.integer = nun;} } IntegerDemo才是myClass的方法 integer=value是把外面的值赋给 ...

c#类数组 get和set的调用问题
Condition_Operate访问符,这里使用属性的好处是,类很好的封装、隐藏了私有成员CB_Array和 Condition_Array,外界只需要知道这两个属性就可以了。 CB_Operate的get 索引器 是返回 CB_Array值。返回值。 CB_Operate的set 索引器 是把 给定的 string[] 数组 复制到 CB_Array 中。赋值。 下同。

C#中错误提示应为get或set访问器,求高手解答。急~~~
又比如,赋值的时候不是什么值都能赋的,要做限制就可以在set中控制。不然的话,别人给这个段赋值多少就是多少。要是你写的程序被人破解,那你这值就被随便改了。没安全性可言,一点也不可控。说白了属性就是用来控制外部访问的。关于接口和类的区别我就不多说了,(打字累啊)只说两点,一类...

提问一个关于C#属性的问题,!!!
get set属性有两个用途:1、增加了代码灵活性。比如你想在给属性赋值的时候同时刷新界面控件,就可以在set属性时候写一点代码实现,如果直接public就不可能做到了。2、增加了属性安全性。比如你不想别人给属性赋值,只能读取,就可以删掉set只留下get。或者不想小于0的值付给属性,就可以在set里判断。好...

C#中属性getset的简写问题。
private string id; public string ID { get { return this.id; } set { this.id = value; } }完全等同于 public string ID {get;set;}

c#编程,属性那里,使用get,set有什么好处吗?
get,set是“属性”这一概念中的2个方法。俗称“访问器”。 举一个不太恰当的例子,3个人:老板,秘书,员工,秘书就是”属性“,get-》秘书将老板的指示传递给员工,set-》秘书将员工的意见传递给老板。为的就是不让员工和老板直接接触,如果这个员工是恐怖组织的成员,那多危险是吧?

相似回答