我在C#中有以下反射代码,我正在尝试使用NLua脚本进行复制:
G.Object.GetType().GetField("count", BindingFlags.Instance | BindingFlags.NonPublic);
一切都很好,直到我尝试在两个标志上使用Bitwise OR运算。我有alerady试过:
BindingFlags.Instance + BindingFlags.NonPublic
(对非数字的算术运算)
BindingFlags.Instance | BindingFLags.NonPublic
(显然没有工作,但值得一试)
我也尝试过纯粹的Lua位操作库实现。一切都失败了,因为我想要的OR在NLua中被称为'userdata'类型。
使用tonumber()转换'userdata'类型也失败。
我目前的Lua代码如下:
obj = G.Object:GetType()
field = obj:GetField("count", *...two OR'd flags here...*)
答案 0 :(得分:3)
将Enum标志与NLua组合的最佳方法是使用辅助函数class="col-lg-8"
luanet.enum