【问题标题】:C# property getter and setter implementation [duplicate]C#属性getter和setter实现[重复]
【发布时间】:2013-05-29 14:35:29
【问题描述】:

执行有什么区别

Class cl1
{
    public int var{get;set;}
}

Class cl1
{
    public int var;
}

我的意思是,两者都是这样实现的 -

void Main()
{
    cl1 obj = new cl1();
    obj.var = 25;
    int k = obj.var;
}

如果没有区别,那为什么我会在库程序集中看到第二个实现如此普遍??

【问题讨论】:

    标签: c# properties get setter getter


    【解决方案1】:

    我想到了两个原因:

    1. 它隐藏了实现:属性 var 可能使用不是 var 的私有字段,或者可能根本不使用私有字段,并且客户端不会知道这一点

    2. 1234563以更简单的方式修改实现,而无需修改所有调用(至少如果您不更改属性的签名)

    可能还有其他我现在想不起来的原因

    【讨论】:

    • 非常感谢,第二个理由似乎更贴切。 :D (y)
    • 其实我觉得第一个更重要,反正不客气:)
    猜你喜欢
    • 2019-11-21
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-09
    • 2016-02-11
    • 2020-06-14
    相关资源
    最近更新 更多