Здравствуйте, Аноним, Вы писали:
здесь
def create_some_application() {
System.Activator.CreateInstance(System.Type.GetTypeFromProgID("Some.Application"))
}
def app = create_some_application();
def file = late app.OpenFile("somefile.txt", openmode = "rw");
плюс на этапе компиляции можно сделать строго типизированную обёртку всех методов с помощью аналога макроса proxy
interface IFile{
OpenFile(...) : void
}
[Record]
class FileProxy : IFile
{
_obj : object;
public OpenFile(...) : void{
late _obj.OpenFile(...);
}
...
}
IFile f = FileProxy(System.Activator.CreateInstance(System.Type.GetTypeFromProgID("Some.Application")));
и после возвращать ссылку на эту прокси или её интерфейс