举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > C#自动属性 C# 属性

C#自动属性 C# 属性

2023-02-25 13:18 C#教程

C#自动属性 C# 属性

C#属性

属性从外部看起来像字段,但在内部它们包含逻辑。

一个属性被声明为一个字段,但是添加了一个get / set块。

以下是如何实现CurrentPrice作为属性:

public class Product {decimal currentPrice;       // The private "backing" field
   
    public decimal CurrentPrice // The public property 
    { 
        get { 
           return currentPrice; 
        } 
        set { 
           currentPrice = value; 
        } 
    } 
}

get set 是属性访问器。

读取属性时,get访问器运行。它必须返回属性类型的值。

在赋值属性时,集合访问器运行。

它有一个属性类型的名为value的隐式参数,通常分配给一个私有字段。

我们可以编写属性的代码来控制获取和设置其值。

属性允许以下修饰符:

项目修饰符
修饰符...static
访问修饰符public internal private protected
继承修饰符new virtual abstract override sealed
非托管代码修饰符unsafe extern

只读和计算属性

如果属性仅指定get访问器,那么该属性是只读的。

如果一个属性只指定一个集合访问器,则该属性是只写的。

属性通常具有专用的备份字段以存储基础数据。

然而,也可以从其他数据计算属性。例如:

decimal currentPrice, sharesOwned; 
public decimal Worth {
   get { return currentPrice * sharesOwned; } 
}

自动属性

自动属性声明指示编译器提供实现。

我们可以重新声明本节中的第一个示例如下:

public class Product 
{
    public decimal CurrentPrice { get; set; } 

}

编译器自动生成无法引用的编译器生成的名称的私有备用字段。

如果要将属性以只读方式公开给其他类型,则可以将集合访问器标记为private。

获取和设置辅助功能

get和set访问器可以有不同的访问级别。

public class Product {
    private decimal x;
    public decimal X{
      get { 
          return x; 
      } 
      private set { 
          x = Math.Round (value, 2); 
      } 
    } 
}
阅读全文
以上是编程学为你收集整理的C#自动属性 C# 属性全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  • c#装箱和拆箱的概念 C# 装箱和拆箱

    c#装箱和拆箱的概念 C# 装箱和拆箱

    2023-02-25 C#教程

    C# 装箱和拆箱对象类型 object 或 System.Object 是所有类型的最终基类。任何类型都可以upcast到对象。以下代码创建一个类Stack...

  • c#访问修饰符的权限 C# 访问修饰符

    c#访问修饰符的权限 C# 访问修饰符

    2023-02-23 C#教程

    C#访问修饰符类型或类型成员可以通过使用访问修饰符来限制其对其他类型的可访问性。例如,我们可以设置一个方法的访问级别,使...

  • c#枚举类型enum用法 C# 枚举

    c#枚举类型enum用法 C# 枚举

    2023-02-28 C#教程

    C#枚举枚举是一种特殊的值类型,是指定的数字常量组。例子例如:public enum Direction { Left, Right, Top, Bottom } 我们可以...

  • C# 嵌套类型

    C# 嵌套类型

    2023-02-23 C#教程

    C#嵌套类型嵌套类型在另一个类型的范围内声明。例如:public class Main { public class Nested { } // Nested class public enu...

  • c#条件运算符 C# 条件运算符

    c#条件运算符 C# 条件运算符

    2023-02-25 C#教程

    C#条件运算符和||运算符测试与和或条件。!运算符表示不。以下代码使用and,not和or运算符创建布尔表达式。!cloudy(WeekDay || ...

© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部