Ich bin Autor!

So, jetzt muss ich einfach etwas angeben:Mein erster Zeitungsartikel wurde veröffentlicht! Zu finden in der aktuellen Ausgabe der dotnetpro, oder nach freundlicher Nachfrage bei mir zu Hause (wenn einer der Blog Leser rein zufällig übermorgen bei mir vorbei kommen sollte ;))

Und ich muss sagen: Das lohnt sich! Der Artikel umfasst 6 Seiten über DynamicLua und hat eine ganze Menge Geld gebracht… Danke noch mal an Tilman Börner und Matthias Lohrer für die freundliche Betreuung und Fragen-Beantwortung 🙂

DynamicLua

So, ich denke es ist Zeit, die Katze aus dem Sack zu lassen, und mein neues Projekt vorzustellen: DynamicLua

Kurz ein paar Worte zum Hintergrund: Mit .NET 4.0 wurde die sog. Dynamic Language Runtime (DLR) eingeführt. Die dient zum einen dazu, es Entwicklern einfacher zu machen, neue Sprache auf .NET Basis zu entwickeln (wie IronPython/IronRuby), hat aber auch ein paar tolle andere Features zu bieten. Eines davon ist das neue Schlüsselwort „dynamic“. Es funktioniert ähnlich wie „var“ kann also jeden Typ annehmen. Wenn man darin aber ein Objekt speichert, das von System.Dynamic.DynamicObject abgeleitet ist, kann man bestimmen was passiert, wenn etwas „nicht erlaubtes“ passiert, also wenn z.B. eine Methode aufgerufen wird, die es gar nicht gibt. Solche Aufrufe landen dann bei der Methode TryInvokeMember, und die kann dann entscheiden, was passieren soll.

Dieses Konzept habe ich jetzt genutzt, um einen Wrapper für das LuaInterface zu schreiben. Das Lua Interface ist eine Library für .NET, die es erlaubt, Lua in C# zu benutzen. Dabei kümmert sie sich auch darum, .NET Objekte in Lua abzubilden und vieles mehr. Diese Library ist wirklich unglaublich, man denkt wirklich, Lua hätte was mit Objekten am Hut.

Weiterlesen