C#的属性(Property)应用说明(二)

9,582次阅读
没有评论

共计 1456 个字符,预计需要花费 4 分钟才能阅读完成。

Property 的应用说明补充:

一. 自定义逻辑:

可以在 get 和 set 访问器中包含自定义的逻辑。

public class Person
{
    private string name;

    public string Name
    {get { return name;}
        set
        {if (string.IsNullOrWhiteSpace(value))
                throw new ArgumentException("Name cannot be empty.");
            name = value;
        }
    }
}

二. 计算属性:

属性也可以是计算的,不依赖于字段。

public class Rectangle
{public int Width { get; set;}
    public int Height {get; set;}

    public int Area
    {get { return Width * Height;}
    }
}

 三. 访问器(Accessors):

属性(Property)的 访问器(accessor)包含有助于获取(读取或计算)或设置(写入)属性的可执行语句。访问器(accessor)声明可包含一个 get 访问器、一个 set 访问器,或者同时包含二者。

// 声明类型为 string 的 Code 属性
public string Code
{
   get
   {
      return code;
   }
   set
   {
      code = value;
   }
}

// 声明类型为 string 的 Name 属性
public string Name
{
   get
   {
     return name;
   }
   set
   {
     name = value;
   }
}

// 声明类型为 int 的 Age 属性
public int Age
{
   get
   {
      return age;
   }
   set
   {
      age = value;
   }
}

四. 实例:

4.1 实例界面

C# 的属性(Property)应用说明(二)

4.2 实例代码

        class Student
        {

            private string code = "N/A";
            private string name = "not known";
            private int age = 0;

            // 声明类型为 string 的 Code 属性
            public string Code
            {
                get
                {return code;}
                set
                {code = value;}
            }

            // 声明类型为 string 的 Name 属性
            public string Name
            {
                get
                {return name;}
                set
                {name = value;}
            }

            // 声明类型为 int 的 Age 属性
            public int Age
            {
                get
                {return age;}
                set
                {age = value;}
            }
            public override string ToString()
            {return "Code =" + Code + ", Name =" + Name + ", Age =" + Age;}
        }

        private void test4()
        {
            // 创建一个新的 Student 对象
            Student s = new Student();

            // 设置 student 的 code、name 和 age
            s.Code = "0001";
            s.Name = "Jack";
            s.Age = 18;
            textBox4.Text = "Student Info:" + s.ToString();

            // 增加年龄
            s.Age += 1;
            textBox5.Text = "Student Info:" + s.ToString();}

        private void button14_Click(object sender, EventArgs e)
        {test4();
        }

以上,一个简单的实例介绍应用,便于理解 Property。

原文地址: C# 的属性(Property)应用说明(二)

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-09-30发表,共计1456字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)