"get"是什么意思?

use*_*351 1 c# properties

可能重复:
在C#中,这个带"get"的代码是什么意思?

我正在使用开源项目.在这个项目中有功能.

public virtual ICollection<Customer> AffiliatedCustomers 
{
    get
    {
         return _affiliatedCustomers ?? (_affiliatedCustomers = new List<Customer>()); 
    }
    protected set { _affiliatedCustomers = value; }
 }
Run Code Online (Sandbox Code Playgroud)

我不明白"get"是什么意思.你能解释一下这个功能吗?

Ree*_*sey 8

AffiliatedCustomers是一个属性.

get定义了属性getter,它是在内部使用的属性返回值的方法.它允许你使用这个给定类的实例,如下所示:

var customers = theClass.AffiliatedCustomers; // Looks like a field, but is a property
Run Code Online (Sandbox Code Playgroud)

属性也可以有一个set部分,就像这个(protected set { _affiliatedCustomers = value; }),它可以让你控制通过属性设置值时会发生什么.

有关详细信息,请参阅C#中的属性.