Xlua重写C#的属性

项目用的是C#语言来开发,写了个Bug,一个用来计算值的属性方法公式有问题,需要使用Xlua代码热更iOS,然后网上查找关键字:Xlua重写C#的Get属性,找不到解决方法。

突然想到C# 中属性的本质,编译成中间语言后是 get、set 两个方法,调用属性实际上是调用 get 或 set 方法。get 对应名为“get_属性名”的方法,set 对应名为“set_属性名"的方法。

举个栗子:

    public class Person
    {
        private int _age;
        //public int Age
        //{
        //    get { return _age; }
        //    set { _age = value; }
        //}

        public int get_Age()
        {
            return _age;
        }
        public void set_Age(int value)
        {
            _age = value;
        }
    }

这里的属性Age就是get_Age和set_Age两个方法,如果不注释掉属性Age的话,编译器也会报错。

于是乎,更改的lua代码只需要重写get_Age和set_Age两个方法就好了。

2020/08/31

今天发现可以用这样重写C#的属性,但是不能用这样的方式调用单个属性。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值