2017-03-23 2 views
1

Je travaille actuellement sur complément où je dois créer en lecture seule des valeurs de balises dans le code. La méthode par défaut pour ajouter des valeurs marquées Element.TaggedValues.AddNew (« Value », « ») crée des valeurs marquées de type string uniquement. Je lis que la définition de type = Const crée en lecture seule des tagged values, mais quand j'ai essayé Element.TaggedValues.AddNew ("Value", "Const"), il crée des valeurs marquées de type string uniquement. Veuillez nous aider. Merci d'avance.Création en lecture seule valeur étiquetée dans l'architecte de l'entreprise par le biais C# add-ins

+0

"Je lis que la définition de type = Const crée en lecture seulement tagged values ​​» Où avez-vous obtenu cette information – Mart10

+0

il serait également utile si vous fournissez le code que vous exécutez – Mart10

Répondre

0

Il y a une différence entre l'ajout d'une valeur balisée et l'ajout d'une définition de valeur étiquetée.

Pour ajouter une chose définition tagged value d'utilisation comme

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

ajouter ensuite une valeur marquée de votre type en utilisant

Element.TaggedValues.AddNew("myTagName","") 
+0

Est-ce que vraiment travailler pour vous voir ma réponse: -?/(je ne l'avais pas mis à jour mon navigateur et manqué votre réponse) –

+0

Oui, vous pouvez définir des valeurs marquées de cette façon. Je le fais dans un de mes compléments (EA) Composer un message dans ce complément, je crée même des tagged values ​​RefGUID avec 3 lignes dans le détail. –

0

Ces valeurs marquées prédéfinies ne peuvent être créés dans les « valeurs par défaut Tagged "dialogue et pas individuellement. Une fois qu'une telle télévision est créé, vous pouvez l'ajouter à votre élément via

tv = e.TaggedValues.AddNew("nameOfTheConstTV", "") 
tv.Update() 

Je ne l'ai pas trouvé un moyen de créer de tels téléviseurs par défaut via l'API. Une fois que vous essayez de fournir des détails sur plusieurs lignes, vous obtenez des détails vides. Laissant le saut de ligne donne aussi des détails vides. Scrappy EA :-(Donc, vous devez les créer manuellement.

Modifier Il semble que la contrainte ci-dessus applique uniquement lors de l'utilisation des langages de script avec l'API.