从技术上讲,C#中的属性是否被认为是非静态的

本文关键字:是否 被认为 是非 静态 属性 从技术上 | 更新日期: 2023-09-27 18:25:00

我的教科书引用了这个引用,它首先意味着一个属性是静态的,不为每个对象存储一个,而是为整个类存储一个。后来它说一个属性是非静态的。我真的很困惑。它是什么?

从技术上讲,C#中的属性是否被认为是非静态的

  • 属性可以是静态的,也可以不是静态的
  • 静态属性具有"Static"关键字,默认值不是静态的
  • 静态属性存储在整个类中(只有一个)
  • 非静态属性存储在每个实例中

属性既可以是静态的,也可以是非静态的,您可以通过使用static关键字来决定是静态的还是非静态的。

public static int StaticProperty {get; set; }
public int InstanceProperty {get; set; }

附带说明一下,一个属性实际上是两个方法(如果只实现setget,则仅为一个)。

public int MyProperty {get; set; }

相当于

public void set_MyProperty(int value);
public int get_MyProperty();