Wiem, że mogę używać plików Lua Script do manipulowania obiektami Java przy użyciu bibliotek takich jak LuaJava. Miałem pomysł używania skryptów C# zamiast ~Skrypty # wewnątrz Java
Czy można uruchomić skrypty C# wewnątrz Java?
Wiem, że mogę używać plików Lua Script do manipulowania obiektami Java przy użyciu bibliotek takich jak LuaJava. Miałem pomysł używania skryptów C# zamiast ~Skrypty # wewnątrz Java
Czy można uruchomić skrypty C# wewnątrz Java?
Teoretycznie tak - z pewnością można to zrobić w aplikacjach .Net i istnieją interakcje Java/.Net.
Zazwyczaj jednak interakcje Java/C# są wykonywane przez P/Invoke lub COM - oba są dość uciążliwe dla tego rodzaju rzeczy, więc w rzeczywistości prawdopodobnie nie będzie działać tak zgrabnie, jak mogłoby się wydawać.
Tak samo, jeśli chcesz to zrobić, prawdopodobnie zaleciłbym napisanie "silnika skryptów" (tj. Otoki kompilatora C#) w języku C#, a następnie udostępnienie go w Javie za pośrednictwem interopcji, na przykład:
public ScriptResult(string Script)
{
// Implemented in .Net
// Script is a string containing the C# code to execute
}
następnie należy dokładnie zastanowić się w jaki sposób C# skrypty będą mogli uzyskać dostęp do dowolnej funkcji Java-land, znowu sobie wyobrazić najlepszym sposobem byłoby zaimplementować klasy otoki .NET wywołuje obiekty Java poprzez interops.
Korzystanie z C# jako język skryptowy z poziomu aplikacji .NET jest zaskakująco prosta - dla informacji:
Czy programy C# są "skryptami"? Niezależnie od tego, możesz uruchomić większość programów zewnętrznych za pośrednictwem Runtime.exec (...), ale pamiętaj, aby obejrzeć pułapki: When Runtime.exec() won't.
Rzeczy stają się nieco bardziej skomplikowane, jeśli chcesz mieć dwukierunkową komunikację między C# i Javą, która może być wykonana przez proste gniazda/strumienie lub aż do interfejsów COM.
Możesz zrobić to na odwrót. Spójrz na http://www.ikvm.net/ - umożliwia ponowne użycie obiektu/biblioteki z jednego języka w drugim.
C# nie jest naprawdę "skryptowy" język . – StriplingWarrior
Jeśli o to chodzi, ściśle mówiąc, nie jest to także Java. JavaScript jest, Java nie jest i nie ma odpowiednika "skryptu C#". –
@StriplingWarrior [Oczywiście, że jest!] (Http://www.doolwind.com/blog/why-you-ouldould-use-csharp-for-your-scripting-language/) – Justin