如何在UML中正式记录C#属性?
什么是在UML类图中记录类的C#属性的正确方法?我还没有决定这是否是我的答案,但我想为了讨论起见,我会把它扔到那里。这看起来可以接受吗 它是属性类型的一个实例,元数据值放入下面的标记值中。我刚刚想出了如何添加自定义立体声类型。该箭头只是一个标记为“应用”的依赖项箭头。我不知道这是否是“标准”,除了它使用了UML中的标准功能: SparxEnterpriseArchitect在逆向工程(例如,单元测试类)中为属性使用标记值。类上的标记值“如何在UML中正式记录C#属性?,c#,attributes,uml,C#,Attributes,Uml,什么是在UML类图中记录类的C#属性的正确方法?我还没有决定这是否是我的答案,但我想为了讨论起见,我会把它扔到那里。这看起来可以接受吗 它是属性类型的一个实例,元数据值放入下面的标记值中。我刚刚想出了如何添加自定义立体声类型。该箭头只是一个标记为“应用”的依赖项箭头。我不知道这是否是“标准”,除了它使用了UML中的标准功能: SparxEnterpriseArchitect在逆向工程(例如,单元测试类)中为属性使用标记值。类上的标记值“属性””将属性的名称作为值,例如“[TestClass]”
属性”
”将属性的名称作为值,例如“[TestClass]
”。类似地,“Attribute=[TestMethod]
”放置在方法上。例如:
[TestClass]
public class MyTests
{
[TestMethod]
public void DoSomeTest()
{
}
}
在本例中,[TestClass]
和[TestMethod]
是.NET属性(不是UML属性)。它们是[TestClassAttribute]
和[TestMethodAttribute]
的缩写。这两个类都是从System.Attribute
类派生的
属性只是向程序集添加元数据。它本身没有运行时行为。顺便说一句,这是一个依赖关系,在上面的图表上,你知道,我这里有一个个人仇恨者,所以我认为它不会起作用;)我认为您首先看到了这个显而易见的东西,这看起来像一个依赖项,所以即使依赖项注入机制有时也可以使用属性,这实际上意味着一些东西;)我喜欢你的帖子。顺便说一下,UML被设计成至少能够描述弱依赖关系,例如,C#类和类属性之间的依赖关系。@Artur:这实际上是依赖关系注入。我用的是MEF。ExportViewMetadataAttribute扩展了ExportAttribute。@Artur:如果您有问题,请访问,然后在此处添加注释,并在此处添加问题链接。@John Saunders:谢谢,我想这对您会有帮助的too@John桑德斯:谢谢,愚蠢的打字错误。