.NET 新语法 ~ 基于MVC学习笔记(1)自动属性

  • 声明空属性,编译器自动生成对应私有成员字段
  • 在VS中可以使用快捷键Ctrl+R+E自动生成
  • C#示例
    public class AutoProperties
    {
        public string Name { get; set; }
        public int Age { get; set; }
    }
  • 编译后的IL代码
编译源代码说明:
    • 万物皆对象,类在编译的时候都继承了Object
    • .ctor是一个构造函数,当一个类中没有任何构造函数的时候,在编译的时候都会自动添加一个构造函数
    • .property Name属性,.get和.set分别调用两个方法get_Name()和set_Name(string)【稍后解释】
    • .field 字段,在类里面声明一个【私有的】【string】类型的,名字为【<Name>k_BackingField】全局变量,该变量为上边的Name属性准备的
    • get_Name()方法编译源码:
[CompilerGenerated]
public string get_Name()
{
    return this.<Name>k__BackingField;
}

    • set_Name(string)方法编译源码:
[CompilerGenerated]
public void set_Name(string value)
{
    this.<Name>k__BackingField = value;
}
    • 通过查看源码即可得知自动属性的工作原理
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值