我在C#中使用.Net 4.0有一个InvestmentReturnCalculator抽象类。通用InvestmentReturnCalculator<T>
类使用约束where T : IBusiness
Visual Studio 2012
中生成的类图如下所示。它没有显示constraint
。这种约束是设计中最重要的部分,也是缺失的。
在UML类图中显示constraint
的解决方案/解决方法是什么?
注意:我已提到UML Class Diagrams: Guidelines;但这并没有解决这个问题。
代码
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; }
}
答案 0 :(得分:1)
您的参考引文:
将name属性设置为模板类型的参数名称 例如,Key。
设置参数种类。默认为Class。
如果希望参数仅接受a的派生类 特定的基类,将Constrained Value设置为基类 你想要的。
问题出在哪里?
顺便说一句,尽量不要将此约束值与正常约束(设置为注释)混合,并且不要将其命名。