繁体   English   中英

接口属性不会自动复制到Visual Studio中的UML类图中的类

[英]Interface attributes not automatically replicated to class in UML class diagram in Visual Studio

在Visual Studio中,我用一个类创建了一个UML类图,该类实现了一个包含属性和操作的接口,如下所示:

UML类图

该操作将自动复制到类,而不是属性。 MSDN指南指出了这种行为:

创建实现连接器时,接口的操作会在实现类中自动复制。 如果将新操作添加到接口,则会将其复制到其实现类中。

但是,这似乎与他们之前的声明背道而驰,即:

实现是指一个类实现接口指定的属性和操作

我确信一定有很好的技术原因(一些OO概念,例如多态或抽象),但是我不认为为什么它会以此方式在属性和操作之间进行区分。

任何人都可以给我一些见解,也许我应该做些什么来解决(因为我会在UML中手动将属性添加到类中吗?),因为这会导致生成的代码无法编译?

虽然我不确定,但我想这是因为在C#接口中不能包含字段,而只能包含方法。 因此,在接口上具有属性是没有意义的。

接口可以包含属性,但是只能将它们编译为PropType get_PropName()void set_PropName(PropType value) (有趣的是,尝试自己声明这些方法会产生编译器错误。)

不幸的是,在UML类图中没有一种很好的“即开即用”的方式来定义属性,因为它们是特定于语言的功能。 我认为您必须定义一个自定义构造型和模板以相应地生成代码-faff。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM