Jon*_*son 0 .net c# ienumerable
假设我有
class A
{
public List<B> LiProperty
{
get;
set { //will I get called when someone calls A::LiProperty.Add()? }
}
}
Run Code Online (Sandbox Code Playgroud)
然后
A a = new A();
a.LiProperty.Add(new B());
Run Code Online (Sandbox Code Playgroud)
变种人会被召唤吗?
我的直觉说get正在返回一个指向列表的指针,因此直接在对象上调用add方法,但是C#再次使用不可变类型做了一些时髦的东西.有人知道答案肯定吗?
更改属性是将其更改为指向另一个不同的属性List<T>.将对象添加到列表中不会改变其 List<T>属性点.除非你写的,否则代码不会调用settera.LiProperty = new List<T>();
| 归档时间: |
|
| 查看次数: |
677 次 |
| 最近记录: |