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;
}
См. также: