LitDev 1.2.24.0 DE
http://litdev.uk/LitDev.De.html Extension API
LDInline
Einbinden von C#, VB, JScript Code zum Ausführen während der Programmlaufzeit und Reflexion Methoden.
Werden mehrere Namespaces oder Klassen verwendet, sollten alle Methoden-, Eigenschaften- oder Ereignisnamen eindeutig verwendet werden.
Alternativ kann ein vollqualifizierter 'Namespace.Typ.Name' verwendet werden.
Kann zum Kompilieren von Extensions und zusammen mit weiteren externen, kompilierten (.NET) Dlls verwendet werden.
Methode, Eigenschaft, Ereignis, Klasse und Referenzen können übernommen werden (nur 'public static').
Die Assemblies der aktuellen Anwendung werden automatisch referenziert.
Abhängig von verwendeten .NET Methoden können zusätzliche Assemblies erforderlich sein, die nach vollem Dll Pfad zu referenzieren sind.
Assembly Dlls sind meist an folgenden oder ähnlichen Orten zu finden:
C:\Windows\Microsoft.NET\Framework\v?.?*\ (zB. v3.5 oder v4.0..)
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\
Bei Ausgabe im TextWindow sollte dieses bereits vor Aufruf der Methoden geöffnet werden (sonst ev. keine Ausgabe).
example other-samples\LDInline.sb, LDInline-Reflection.sb (incl. code1.cs/code1.vb)
Call | Event | Get |
GetAssemblies | GetEvents | GetMethodParameters |
GetMethods | GetProperties | GetReferences |
GetTypes | IncludeCS | IncludeJScript |
IncludeVB | LoadDLL | Set |
Call(method,args)
Aufruf einer zuvor inkludierten Methode. Binary zuvor geladen per LoadDLL od. virtuell kompilierte Source per IncludeCS/-VB/-JScript.
Bei Verwendung externer Dlls müssen diese im 'SB\Lib' oder Programmordner liegen.
method Der Name der Methode in "".
args Die Argumente für die Methode. "" für ohne, ein Einzelwert oder ein Array (für mehrere Werte, KEINE "" Argumente).
returns Das Rückgabeergebnis(se) des Aufrufs oder "" bei Erfolg, sonst "FAILED".
Event(event,callBack)
Setzt die aufzurufende Subroutine für ein zuvor inkludiertes Ereignis. Binary zuvor geladen per LoadDLL od. virtuell kompilierte Source per IncludeCS/-VB.
Bei Verwendung externer Dlls müssen diese im 'SB\Lib' oder Programmordner liegen.
event Der Ereignisname in "".
callBack Die aufzurufende SB Event-Sub.
Get(property)
Ermittelt den Wert einer zuvor inkludierten Eigenschaft. Binary zuvor geladen per LoadDLL od. virtuell kompilierte Source per IncludeCS/-VB/-JScript.
Bei Verwendung externer Dlls müssen diese im 'SB\Lib' oder Programmordner liegen.
property Der Name der Eigenschaft in "".
returns Der Wert der Eigenschaft oder "FAILED".
GetAssemblies(fullName)
Ermittelt alle verwendeten Inline Assemblies mit Pfaden als Array (Reflexion).
Dies sind die referenzierten Assemblies welche aktuell auch verwendet werden.
fullName Den vollen Referenzname (mit 'Version, Culture, PublicKeyToken') ermitteln? "True" oder "False" (nur Basisname).
returns Die Assemblynamen und Dll-Pfade als Array "asm(, .., ..)=dllPfad;..;".
GetEvents()
Ermittelt alle geladenen Inline Ereignisse mit Handlertyp als Array (Reflexion).
returns Die Ereignisnamen und Handlertyp als Array "event=typ;..;".
GetMethodParameters(method)
Ermittelt alle Parameter (Argumente) mit Rückgabetyp einer geladenen Inline Methode als Array (Reflexion).
method Der Name der Methode in "".
returns Die Parameternamen und Rückgabetyp als Array "param=typ;..;".
GetMethods(fullName)
Ermittelt alle geladenen Inline Methoden (auch innerhalb Eigenschaften) mit Rückgabetyp als Array (Reflexion).
fullName Den vollen Methodenname (mit 'Namespace.Klasse.') ermitteln? "True" oder "False" (Standard, nur Basisname).
returns Die Methodenamen und Rückgabetyp (zB. Microsoft.SmallBasic.Library.Primitive oder System.Void) als Array "method=typ;..;".
GetProperties()
Ermittelt alle geladenen Inline Eigenschaften mit Rückgabetyp als Array (Reflexion).
returns Die Eigenschaftsnamen und Rückgabetyp als Array "prop=typ;..;".
GetReferences(fullName)
Ermittelt alle hinzugefügten Inline Referenzen mit Pfaden als Array (Reflexion, nur nach IncludeCS/-VB via Quellcode).
Dies sind manuell hinzugefügte Referenzen, diese können verwendet werden oder auch nicht.
fullName Den vollen Referenzname (mit 'Version, Culture, PublicKeyToken') ermitteln? "True" oder "False" (nur Basisname).
returns Die angegebenen Referenznamen und Dll-Pfade als Array "ref(, .., ..)=dllPfad;..;".
GetTypes()
Ermittelt alle geladenen Inline Klassennamen mit Namespace als Array (Reflexion).
returns Die Klassen- und Namespacenamen als Array "class=namespace;..;".
IncludeCS(source,assemblies,dllName)
Inkludiert und kompiliert eine C# Klasse(n). Kann der Inhalt einer per 'File.ReadContents' gelesenen Datei sein.
Zum Erstellen der Dll Datei muß Schreibberechtigung im Ordner bestehen. Zum Direktladen einer bestehenden Dll s. LoadDLL.
source Der C# Quellcode.
assemblies Ein Array ev. zusätzlich erforderlicher Assemblies. "" für automatisches Referenzieren/Laden (Angabe für SBLibrary.dll, Microsoft.VisualBasic.dll ist nicht erforderlich).
dllName Optionaler Dateiname zum Erstellen einer Dll (+ .xml) im akt. Ordner. "" für virtuelle Ausführung (Erstellen+Laden) im Arbeitsspeicher.
returns "SUCCESS" bei Erfolg, sonst "FAILED".
IncludeJScript(source,assemblies,dllName)
Inkludiert und kompiliert ein JScript Modul(e) (public class NAME). Kann der Inhalt einer per 'File.ReadContents' gelesenen Datei sein.
Zum Erstellen der Dll Datei muß Schreibberechtigung im Ordner bestehen. Zum Direktladen einer bestehenden Dll s. LoadDLL.
source Der JScript Quellcode.
assemblies Ein Array ev. zusätzlich erforderlicher Assemblies. "" für automatisches Referenzieren/Laden (Angabe für SBLibrary.dll ist nicht erforderlich).
dllName Optionaler Dateiname zum Erstellen einer Dll im akt. Ordner. "" für virtuelle Ausführung (Erstellen+Laden) im Arbeitsspeicher.
returns "SUCCESS" bei Erfolg, sonst "FAILED".
IncludeVB(source,assemblies,dllName)
Inkludiert und kompiliert ein VB Modul(e). Kann der Inhalt einer per 'File.ReadContents' gelesenen Datei sein.
Zum Erstellen der Dll Datei muß Schreibberechtigung im Ordner bestehen. Zum Direktladen einer bestehenden Dll s. LoadDLL.
source Der VB Quellcode.
assemblies Ein Array ev. zusätzlich erforderlicher Assemblies. "" für automatisches Referenzieren/Laden (Angabe für SBLibrary.dll ist nicht erforderlich).
dllName Optionaler Dateiname zum Erstellen einer Dll (+ .xml) im akt. Ordner. "" für virtuelle Ausführung (Erstellen+Laden) im Arbeitsspeicher.
returns "SUCCESS" bei Erfolg, sonst "FAILED".
LoadDLL(dllName)
Verwenden einer zuvor kompilierten und gespeicherten .NET Dll (Aufruf direkt vom Quell- oder 'SB\Lib' Ordner). Obsolet für virtuell im Arbeitsspeicher erstellte Dll (s. Include.. Methoden).
dllName Der Pfad zur Dll Datei.
example Zum Laden einer Assembly.exe, diese erst zu Assembly.dll umbenennen.
Set(property,value)
Setzt den Wert einer zuvor inkludierten Eigenschaft. Binary zuvor geladen per LoadDLL od. virtuell kompilierte Source per IncludeCS/-VB/-JScript.
Bei Verwendung externer Dlls müssen diese im 'SB\Lib' oder Programmordner liegen.
property Der Name der Eigenschaft in "".
value Der Wert der Eigenschaft.