

访问C#基类属性,方法
-
1、Lua脚本
--基类属性,方法
local DrivenClass = CS.DrivenClass --获取子类
local testobj = DrivenClass() -- 创建子类实例
print(DrivenClass.BSF)--读基类静态属性
DrivenClass.BSF = 2048--写基类静态属性
DrivenClass.BSFunc();--基类静态方法
print(testobj.BMF)--读基类成员属性
testobj.BMF = 4096--写基类成员属性
testobj:BMFunc()--基类方法调用
-
2、C#脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using XLua;
[LuaCallCSharp]
public class BaseClass
{
public static void BSFunc()
{
Debug.Log("运行基类静态方法, 静态属性:BSF = " + BSF);
}
public static int BSF = 1;
public void BMFunc()
{
Debug.Log("运行基类成员方法, 成员属性:BMF = " + BMF);
}
public int BMF { get; set; }
}
[LuaCallCSharp]
public class DrivenClass : BaseClass
{
public void DMFunc()
{
Debug.Log("运行子类成员方法,成员属性: DMF = " + DMF);
}
public int DMF { get; set; }
}
public class _005_LuaCallCSharp : MonoBehaviour
{
private LuaEnv env;
void Start ()
{
env = new LuaEnv();
env.DoString("require 'LuaCallCSharp'");
}
private void Update()
{
if(env!=null)
{
env.Tick();
}
}
private void OnDestroy()
{
env.Dispose();
}
}
运行结果:

img.jpg
注:
xlua支持(通过派生类)访问基类的静态属性,静态方法,(通过派生类实例)访问基类的成员属性,成员方法