填充它们的定义属性之间有什么区别

时间:2018-08-11 09:03:53

标签: c# properties

我看到了用c#语言定义的两种属性,分别是什么和什么时候有什么区别:

public class _parentBLL
{
    public ClassA class_A => new ClassA();
    public ClassB class_B { get; } = new ClassB(); 
}

1 个答案:

答案 0 :(得分:2)

这些仅仅是语法糖,等效于以下内容:

public class _parentBLL
{
    public ClassA class_A
    {
        get { return new ClassA(); }
    }

    private readonly ClassB _class_B = new ClassB();
    public ClassB class_B
    {
        get { return _class_B; }
    }
}

请注意不同之处:每次在 _parentBLL.class_B 中调用吸气剂时, _parentBLL.class_A 都会创建并返回 ClassA 的新实例。总是返回 ClassB 的相同实例。

备注: 我建议遵循C#命名约定:类和属性的名称用pascal大小写。