zoukankan      html  css  js  c++  java
  • Unity热更新04-XLua调用C#-012-Lua调用C# 泛型

    print("*********Lua调用C# 泛型函数相关知识点***********")
    
    local obj = CS.Lesson12()
    
    local child = CS.Lesson12.TestChild()
    local father = CS.Lesson12.TestFather()
    
    --支持有约束有参数的泛型函数
    obj:TestFun1(child, father)
    obj:TestFun1(father, child)
    
    --lua中不支持 没有约束的泛型函数
    --obj:TestFun2(child)
    
    --lua中不支持 有约束 但是没有参数的泛型函数
    --obj:TestFun3()
    
    --lua中不支持 非class的约束
    --obj:TestFun4(child)
    
    
    --有一定的使用限制
    --Mono打包 这种方式支持使用
    --il2cpp打包  如果泛型参数是引用类型才可以使用
    --il2cpp打包  如果泛型参数是值类型,除非C#那边已经调用过了 同类型的泛型参数 lua中才能够被使用
    
    --补充知识 让上面 不支持使用的泛型函数 变得能用
    --得到通用函数  
    --设置泛型类型再使用
    --xlua.get_generic_method(类, "函数名")
    local testFun2 = xlua.get_generic_method(CS.Lesson12, "TestFun2")
    local testFun2_R = testFun2(CS.System.Int32)
    --调用
    --成员方法  第一个参数 传调用函数的对象
    --静态方法 不用传
    testFun2_R(obj, 1)
    
  • 相关阅读:
    网页信息抓取 Jsoup的不足之处 httpunit
    spring boot @ConfigurationProperties
    git冲突解决方案 Intellij IDEA
    HTTP 和 Socket 区别
    java.lang.reflect.Method
    dubbo hessian+dubbo协议
    4、注解反射生成SQL语句
    3、解析注解
    2、自定义注解
    1、JDK自带注解
  • 原文地址:https://www.cnblogs.com/unitysir/p/13896199.html
Copyright © 2011-2022 走看看