Visual Studio UML类图不显示通用约束

时间:2014-02-05 12:21:33

标签: c# visual-studio visual-studio-2012 uml

我在C#中使用.Net 4.0有一个InvestmentReturnCalculator抽象类。通用InvestmentReturnCalculator<T>类使用约束where T : IBusiness

扩展此类

Visual Studio 2012中生成的类图如下所示。它没有显示constraint。这种约束是设计中最重要的部分,也是缺失的。

在UML类图中显示constraint的解决方案/解决方法是什么?

注意:我已提到UML Class Diagrams: Guidelines;但这并没有解决这个问题。

enter image description here

代码

public abstract class InvestmentReturnCalculator
{
    public double ProfitElement { get; set; }
    public abstract double GetInvestmentProfit();

    public double CalculateBaseProfit()
    {
        return 5;
    }
}

public abstract class InvestmentReturnCalculator<T> : InvestmentReturnCalculator where T : IBusiness
{
    public T Business { get; set; }

}

1 个答案:

答案 0 :(得分:1)

您的参考引文:

  

将name属性设置为模板类型的参数名称   例如,Key。

     

设置参数种类。默认为Class。

     

如果希望参数仅接受a的派生类   特定的基类,将Constrained Value设置为基类   你想要的。

问题出在哪里?

顺便说一句,尽量不要将此约束值与正常约束(设置为注释)混合,并且不要将其命名。