我有一个UML图,所有组件都有标记值。我想用元素名称检索标记值。像这样的东西来获取标记值,我有代码但不知道如何为图表启动它。
function TVGetElementTaggedValue( theElement, taggedValueName, defaultValue )
TVGetElementTaggedValue = defaultValue
if not theElement is nothing and Len(taggedValueName) > 0 then
dim taggedValue as EA.TaggedValue
set taggedValue = theElement.TaggedValues.GetByName( taggedValueName )
if not taggedValue is nothing then
TVGetElementTaggedValue = taggedValue.Value
end if
end if
end function
答案 0 :(得分:1)
图表上没有标记值。
答案 1 :(得分:1)
最后这是我拥有的解决方案,最终有效:
Repository.GetTreeSelectedItemType() = otDiagram
Roles = TVGetElementTaggedValue(element, "Roles", "", "")
Function TVGetElementTaggedValue( theElement, taggedValueName, defaultValueMissing, defaultValueEmpty )
if not theElement is nothing and Len(taggedValueName) > 0 then
dim taggedValue as EA.TaggedValue
set taggedValue = theElement.TaggedValues.GetByName( taggedValueName )
if taggedValue is nothing then
TVGetElementTaggedValue = defaultValueMissing
' Dump warning
'Session.Output(theElement.Name & " " & taggedValueName & " TAG Missing")
else
if taggedValue.Value = "" then
TVGetElementTaggedValue = defaultValueEmpty
' Dump warning
'Session.Output(theElement.Name & " " & taggedValueName & " Value Missing")
else
TVGetElementTaggedValue = taggedValue.Value
end if
end if
end if
end function
Session.Output("Roles: " + CStr(Roles))
感谢您的帮助。