gpt4 book ai didi

c# - 自动实现的属性 c#

转载 作者:可可西里 更新时间:2023-11-01 08:34:25 25 4
gpt4 key购买 nike

  1. 有人可以向我解释一下使用自动实现的属性 c# 背后的想法是什么吗?

    public class Customer
    {
    public int ID { get; set; }
    public string Name { get; set; }
    }

    我得到了为私有(private)字段使用属性的动机,因此我们可以确定如何访问私有(private)字段。但在这里 - 这就像从一开始就将字段定义为 public 一样。不是吗?

  2. 将字段定义为“public const”或将其定义为具有 get-only 属性有区别吗?

最佳答案

公共(public)自动属性与公共(public)字段不同,它们不是二进制兼容的。如果您实现了一个公共(public)字段并且稍后想要添加一些逻辑,您将不得不将其更改为一个属性,从而引入一个重大更改(因为二进制不兼容)。这就是为什么许多约定声明您永远不应公开公共(public)字段而应使用属性的原因。

因此,自动属性只是任何简单的非私有(private)类值成员的一个方便的起点,它允许以后添加逻辑,同时保持二进制兼容性。

关于c# - 自动实现的属性 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2903235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com