提交 6a8fbc45 编写于 作者: J johnche(车雄生)

补充下xlua.get_generic_method的使用限制

上级 89613bf4
......@@ -172,9 +172,10 @@ ios下的限制有两个:1、没有jit;2、代码剪裁(stripping);
## 支持泛型方法的调用么?
部分支持,支持的程度可以看下[例子9](../Examples/09_GenericMethod/)
1、泛型约束到某个基类的支持,看例子:(../Examples/09_GenericMethod/)
其它情况也有办法调用到。如果是静态方法,可以自己写个封装来实例化泛型方法。
2、没有泛型约束的建议封装为非泛型使用
如果是静态方法,可以自己写个封装来实例化泛型方法。
如果是成员方法,xLua支持扩展方法,你可以添加一个扩展方法来实例化泛型方法。该扩展方法使用起来就和普通成员方法一样。
......@@ -194,7 +195,7 @@ go:GetButton().onClick:AddListener(function()
end)
```
如果xlua版本大于2.1.12的话,新增反射调用泛型方法的支持,比如对于这么个C#类型:
3、如果xlua版本大于2.1.12的话,新增反射调用泛型方法的支持(有一定的限制,看后面的说明),比如对于这么个C#类型:
```csharp
public class GetGenericMethodTest
{
......@@ -234,6 +235,12 @@ print(ret)
bar(2, nil)
```
使用限制,只有下面几种情况可以:
* mono下可以
* il2cpp下,如果泛型参数是引用类型可以
* il2cpp下,如果泛型参数是值类型,C#那有用同样的泛型参数调用过(如果是hotfix场景下,一般在C#那会用同样的泛型参数调用过,所以在hotfix功能下一般都可用)
## 支持lua调用C#重载函数吗?
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册