Есть ли способ получить ссылку на интерфейс Microsoft.VisualStudio.Uml.Profiles.IStereotype в шаблоне t4? Я имею в виду IStereotype, который хранит определение UML-стереотипа, а не IStereotypeInstance, который содержит фактическое значение. Я пробовал что-то вроде этого, но перечисление ApplicableStereotypes пусто.Как получить ссылку IStereotype в шаблоне 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));
}
}
Я попытался получить IStereotype из ModelStore. Но свойство ProfileManager всегда возвращает null и код прерывается.
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;
}
}
}
Я застрял. Пожалуйста помоги!