1

C#用のLuaInterfaceを使用しています。

私のC#プロジェクトでは、ファイルProgram.csを取得しました

これは名前空間Testを使用し、クラスはProgramと呼ばれます。

Programクラスで、PrintTest()メソッドを取得しました。

Luaからその方法に到達するにはどうすればよいですか?私はこのようなことを試しました:

luanet.Test.Program:PrintTest();

しかし、ルアは「そのような方法はありません」と言います。

私はこのスレッドを見てきました:LuaInterface-.Netクラスへのアクセスを制限する方法は?彼と同じようにフォームを作成できたので、問題は私自身のカスタムクラスでのみ発生します。


オーケー。問題は、メソッドPrintTestが静的であることにあるようです。非静的にすると機能しますが、静的にしたい場合はどうすればよいですか?

4

2 に答える 2

1

このスレッドの古さにも関わらず、同じ質問があり、満足のいく答えを見つけることができました.

LuaInterface 1.5.1 では、型の静的メソッドを呼び出すには、単純にドット演算子を使用します。

元:

luanet.load_assembly("AssemblyName")
local Test = luanet.import_type("Test.Program")
Test.PrintTest()

参考:https ://github.com/megax/LuaInterface

于 2013-03-26T01:39:41.720 に答える
0

通常は次のようになります。

luanet.load_assembly("YourAssembly")
local Test  = luanet.import_type("Test.Program")
local test = Test()
test.PrintTest()
于 2012-06-18T03:56:27.720 に答える