Access a .NET DLL (with LabVIEW classes) in Python
Access a .NET DLL (with LabVIEW classes) in Python
ca_obj = ClientApp1Lib.ClientApp1Lib.ClientApp1()
# alas, it calls "new" which triggers file search popup window (known LabVIEW class issue)
# so start with a non initialized obj ref and use Create.vi to initialize the LabVIEW class ref
ca_obj = AssemblyLib.ClientApp1Lib.ClientApp1
ca_Type = clr.GetClrType(AssemblyLib.ClientApp1Lib.ClientApp1) # get type
print(ca_Type.FullName, "\t", ca_Type)
# GetUninitializedObject to avoid constructor and 'new' issue
ca_obj = System.Runtime.Serialization.FormatterServices.GetUninitializedObject(ca_Type)
print(ca_obj.IsValid(), "\t", ca_obj) # False
ca_obj = AssemblyLib.ClientApp1Lib.ClientApp1.Create(ca_obj, ca_obj)
print(ca_obj.IsValid(), "\t", ca_obj) # True
Note: For more on the constructor node issue in VS see ‘new’ triggers browsing to lvclass file on disk
ClientApp1.dll (my InteropAssembly example)
ConsoleApp_RA_e0/Program.cs (my C# Console example)
How to call a dynamic library (pythonnet wiki)
python for net how to explicitly create instances of csharp classes (stackoverflow qa)