要素の CustomProperties セットを変更しようとしていますが、いくつか質問や問題があります。誰か助けてもらえますか? 1. 新しい要素を追加し、t_xref でこの要素の CustomProperties セットを確認しました -> 見つかりません。この t_object.ea_guid の行はありません。2. 2 つの要素を追加し、方向の値を 1 番目の "in" と 2 番目の "out" に設定しました。-> この要素の CustomProperties セット (?) のすべての設定を (foreach で) 読み取り、そのうちの 1 つを変更して (方向)、要素を更新します。それでも、この t_object.ea_guid の t_xref には何もありません。GUI では、この CustomProperties がすべての要素に対してこれらと同じ値に設定されていることが示されています (foreach (「out」) での更新の最後の要素の設定値など)。(GUI で) 保存すると、この要素のパラメーターが表示され、行が t_xref に追加されます。あなたは知っていますか、私のコードのどこに間違いがありますか? 何も思いつきません...
EA.IDualElement elementActivity = null;
elementActivity = element.Elements.AddNew("Activity1", "Activity");
elementActivity.Update();
EA.IDualElement elementActivityParameter = null;
var position = String.Format("l={0};r={1};t={2};b={3};", 0, 0, 0, 0);
//add 1. element ActivityParameter
elementActivityParameter = elementActivity.Elements.AddNew("ActivityParameter1", "ActivityParameter");
elementActivityParameter.ClassifierID = 123 //ElementID
elementActivityParameter.Update();
elementActivity.Update();
//change CustomProperty
foreach (EA.CustomProperty prop in elementActivityParameter.CustomProperties)
if (prop.Name == "direction") prop.Value = "in";
elementActivityParameter.Update();
elementActivity.Update();
//add to diagram
EA.IDualDiagramObject diagramObject1 = diagram.DiagramObjects.AddNew(position, string.Empty);
diagramObject1.ElementID = elementActivityParameter.ElementID;
diagramObject1.Update();
//add 2. element ActivityParameter
elementActivityParameter = elementActivity.Elements.AddNew("ActivityParameter2", "ActivityParameter");
elementActivityParameter.ClassifierID = 123 //ElementID
elementActivityParameter.Update();
elementActivity.Update();
//change CustomProperty
foreach (EA.CustomProperty prop in elementActivityParameter.CustomProperties)
if (prop.Name == "direction") prop.Value = "out";
elementActivityParameter.Update();
elementActivity.Update();
//add to diagram
EA.IDualDiagramObject diagramObject2 = diagram.DiagramObjects.AddNew(position, string.Empty);
diagramObject2.ElementID = elementActivityParameter.ElementID;
diagramObject2.Update();