GetModuleResult GetModule(OdId tObject)
tObject. Моникёр модуля.
Операция GetModule получает информацию о Fore-модуле репозитория.
Для выполнения операции укажите в параметре tObject моникёр объекта репозитория, являющегося модулем. Моникёр объекта может быть получен при выполнении операции GetObjects. Результатом операции будет код, реализованный в модуле, и список ссылок на сборки, которые подключены к модулю.
Ниже приведён пример использования операции GetModule для получения информации о модуле. В запросе передаётся моникёр модуля в репозитории. В ответе приходит текст модуля, список подключенных ссылок, а также описание модуля как объекта репозитория. В примере C# используется функция FindObjectById, код которой приведен в примере «Получение описания объекта по его идентификатору».
{
"GetModule" :
{
"tObject" :
{
"id" : "S1!M!172002"
}
}
}
{
"GetModuleResult" :
{
"meta" :
{
"text" : "Public Class TestObject: Object
\t_arr: Array Of Double;
\tPublic Constructor Create;
\tBegin
\t\t_arr := New Double[5];
\tEnd Constructor Create;
\tPublic Constructor CreateWithParams(Size: Integer; DefaultValue: Double = 0);
\tBegin
\t\t_arr := New Double[Size];
\t\tIf DefaultValue <> 0 Then
\t\t\t\/\/...
\t\tEnd If;
\tEnd Constructor CreateWithParams;
\tPublic Sub Run;
\tBegin
\t\t\/\/...
\tEnd Sub Run;
End Class TestObject;
Sub Main;
Var
\tobj: TestObject;
Begin
\tobj := New TestObject.CreateWithParams(10, 100);
\tDebug.WriteLine("The main procedure is running. The object is created.");
\t\/\/...
End Sub Main;",
"references" :
{
"builtinReferences" :
{
"s" :
[
"Collections",
"Cubes",
"Metabase"
]
},
"repoReferences" : ""
},
"desc" :
{
"@ds" : "",
"@isShortcut" : "0",
"@isLink" : "0",
"@ver" : "18",
"@hf" : "0",
"i" : "M_ADDITIONAL",
"n" : "Дополнительно",
"k" : "172002",
"c" : "1537",
"p" : "171999",
"h" : "0",
"hasPrv" : "0",
"ic" : "0",
"trackElementDependents" : "0"
}
}
}
}
public static GetModuleResult GetModuleInfo(MbId mb, string modId)
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var tGet = new GetModule()
{
//Формирование моникёра объекта
tObject = new OdId() { id = mb.id + "!" + FindObjectById(mb, modId).k }
};
//Получение информации о модуле
var result = somClient.GetModule(tGet);
return result;
}
См. также: