Visual Studio 2010/2012/2013, Class Diagram: как показать интерфейс как базовый класс, а не как "lillypop"?
Так как интерфейс уже на диаграмме, я хотел бы явно показать ссылку на наследование. Но я не могу найти, как...
Ответ 1
В VS 2005 до 2012 года существует ошибка, которая не позволит ей работать.
У меня есть работа arround, которая может обмануть его в рисование наследования для интерфейсов.
Скажем, ваш интерфейс называется IMyInterface. Вы должны заменить его абстрактным классом, реализующим этот интерфейс, и использовать его вместо своего интерфейса. Код будет использовать условную компиляцию и будет выглядеть следующим образом:
//to generate class diagram, add 'CLSDIAGRAM' to the conditional symbols on the Build tab,
// or add '#define CLSDIAGRAM' at the top of this file
#if CLSDIAGRAM
#warning CLSDIAGRAM is defined and this build should be used only in the context of class diagram generation
//rename your interface by adding _
public interface IMyInterface_
{
int MyProperty { get; }
void MyMethod();
}
//this class will act as an interface in the class diagram ;)
public abstract class IMyInterface : IMyInterface_ // tricks other code into using the class instead
{
//fake implementation
public int MyProperty {
get { throw new NotImplementedException(); }
}
public void MyMethod()
{
throw new NotImplementedException();
}
}
#else
// this is the original interface
public interface IMyInterface {
int MyProperty { get; }
void MyMethod();
}
#endif
Скорее всего, это покажет.
В вашем случае IMyInterface станет IMedicine.