2015-04-08 32 views
2

我有下面的代碼,它創建一個新的EA模型和​​該模型的子包。然而,它似乎只是更新/創建「可視化」 - 這是因爲我可以在EA中看到它,但如果我嘗試獲取我的新根的包,它將返回0應該是1.訪問新創建的包的包EA

var root = eaRepo.Models.AddNew("A New Root", ""); 
root.Update(); 
eaRepo.Models.Refresh(); 

Package newPackage = root.Packages.AddNew("New Package", "Package"); 
newPackage.Update(); 
eaRepo.Models.Refresh(); 

var packages = root.Packages.Count; //Returns 0 but I just created one 

爲什麼這不起作用的任何建議?

+0

打印'eaRepo.Models.count',就完成了。 –

回答

2

你刷新了錯誤的集合(eaRepo.Models,第二次)。您需要刷新您添加該軟件包的集合。

Package newPackage = root.Packages.AddNew("New Package", "Package"); 
newPackage.Update(); 
root.Packages.Refresh(); 
+0

你知道一種方法來防止它刷新時按字母順序排列嗎? 我按照特定順序添加軟件包,但是當我在集合上運行refresh()時,它按字母順序排列它們。 –

+0

排序順序由TreePos屬性指定,所以如果你設置newPackage.TreePos = someCounter,並且爲你添加的每個包添加someCounter,那就應該有效。 – Uffe

+0

它仍然按字母順序排列:( –