如何在UML中正式记录C#属性?

时间:2011-01-22 03:31:41

标签: c# attributes uml

在UML类图中的类上记录C#属性的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

我还没有决定这是否是我的答案,但我想我会把它扔出去讨论。这看起来可以接受吗?

alt text

它是属性类型的一个实例,其元数据值放在下面的标记值中。我只是想出了如何添加自定义立体声类型。箭头只是一个依赖箭头,标记为“apply”。

答案 1 :(得分:1)

我不知道这是否是“标准”,除了它使用UML的标准功能:

Sparx Enterprise Architect,例如,逆向工程,单元测试类,使用标记值作为属性。类上的标记值“Attribute”将属性的名称作为值,例如“[TestClass]”。同样,“Attribute = [TestMethod]”放在方法上。一个例子是:

[TestClass]
public class MyTests
{
    [TestMethod]
    public void DoSomeTest()
    {
    }
}

在此示例中,[TestClass][TestMethod]是.NET属性(不是UML属性)。它们是[TestClassAttribute][TestMethodAttribute]的缩写。两者都是派生自System.Attribute类的类。

属性只是将元数据添加到程序集中。它本身没有运行时行为。