C#写了个Bug,一个用来计算值的属性方法公式有问题,需要使用Xlua热更,然后网上查找关键字: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两个方法就好了。