1
有沒有辦法在t4模板中獲得對Microsoft.VisualStudio.Uml.Profiles.IStereotype接口的引用?我的意思是存儲UML原型的定義的IStereotype,而不是保存實際值的IStereotypeInstance。 我嘗試了這樣的事情,但ApplicableStereotypes枚舉是空的。如何在T4模板中獲取IStereotype參考?
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));
}
}
我試圖從ModelStore獲取IStereotype。但是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;
}
}
}
我被困住了。請幫忙!