Existe-t-il un moyen d'obtenir une référence à l'interface Microsoft.VisualStudio.Uml.Profiles.IStereotype dans un modèle t4? Je veux dire IStereotype qui stocke la définition du stéréotype UML, et non IStereotypeInstance qui contient la valeur réelle. J'ai essayé quelque chose comme ça, mais l'énumération ApplicableStereotypes est vide.Comment obtenir une référence IStérotype dans un modèle T4?
void WriteClassAttributes(IClass classItem)
{
foreach(IStereotypeInstance stereoInst in classItem.AppliedStereotypes)
{
this.WriteLine(string.Format("{0} = {1}", stereoInst.Profile, stereoInst.Name));
}
foreach(IStereotype stereo in classItem.ApplicableStereotypes)
{
this.WriteLine(string.Format("{0} = {1}", stereo.Profile.Name, stereo.Name));
}
}
J'ai essayé d'obtenir IStereotype à partir de ModelStore. Mais la propriété ProfileManager renvoie toujours null et le code se brise.
string GetDefaultValue(IStereotypePropertyInstance stereoProp)
{
IModelStore modelStore = stereoProp.GetModelStore();
Microsoft.VisualStudio.Uml.Profiles.IProfile profile =
modelStore.ProfileManager.GetProfileByName(profileName);
foreach(IStereotype stereo in profile.Stereotypes)
{
if(stereo.Name == stereoProp.StereotypeInstance.Name )
{
return stereo.DefaultValue;
}
}
}
Je suis coincé. S'il vous plaît aider!