通过 C# 加载项在企业架构师中创建只读标记值

Creating Read-Only tagged Value in enterprise architect through c# add-ins

我目前正在开发需要通过代码创建只读标记值的加载项。 添加标记值的默认方法 Element.TaggedValues.AddNew("Value", "") 仅创建字符串类型的标记值。 我读到定义 Type=Const 会创建只读标记值,但是当我尝试 Element.TaggedValues.AddNew("Value", "Const") 时,它只会创建字符串类型的标记值。 请提前help.Thanks。

添加标记值和添加标记值定义是有区别的。

要添加标记值定义,请使用

EA.PropertyType taggedValueType = EA.Repository.PropertyTypes.AddNew("myTagName","");
taggedValueType.Description = "some description";
taggedValueType.Detail = "Type=Const;"+Environment.Newline+"Default=Val;";
taggedValueType.Update();

然后使用

添加您的类型的标记值
Element.TaggedValues.AddNew("myTagName","")

这些预定义的标记值只能在 "Default Tagged Values" 对话框中创建,不能单独创建。创建这样的电视后,您可以通过

将其添加到您的元素中
tv = e.TaggedValues.AddNew("nameOfTheConstTV", "")
tv.Update()

我还没有找到通过 API 创建此类默认电视的方法。一旦您尝试提供多行详细信息,您只会得到空的详细信息。离开换行符也会产生空的细节。好斗的 EA :-( 所以你必须手动创建它们。

Edit 似乎上述约束仅在使用具有 API.

的脚本语言时适用