【XLua】017-Lua访问C#:基类的属性,方法


访问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支持(通过派生类)访问基类的静态属性,静态方法,(通过派生类实例)访问基类的成员属性,成员方法

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容