如何指定列表作为“返回类型”对于 UML 接口属性
在我的 Visio 2007 UML 文档中,我无法弄清楚如何向返回通用 List
类型的接口添加操作。
例如:
假设我有一个名为“MyClass”的类和一个名为“IFace”的接口。 IFace 具有返回 MyClass 通用列表的方法签名。
为了清楚起见,下面是 C# 代码的示例:
namespace StackO
{
public interface IFace
{
List<MyClass> SomeMethod(string data);
}
public class MyClass
{
}
}
这是我遇到问题的屏幕截图:
似乎是将 List
指定为的唯一方法我的返回类型是创建另一个用户定义的数据类型,该数据类型显式编写为 List
。既然如此,那就这样吧。但是,我发布此内容是希望有更好/正确的方法来做到这一点。
如何将 Visio 界面操作的返回类型定义为用户定义数据类型的通用列表?
In my Visio 2007 UML document I am unable to figure out how I can add an operation to an Interface that returns a generic List<MyCustomType>
type.
For example:
Say I have a class named "MyClass" and an Interface named "IFace". IFace has a signature of a method that returns a Generic List of MyClass.
For clarity, here's an example of the C# code:
namespace StackO
{
public interface IFace
{
List<MyClass> SomeMethod(string data);
}
public class MyClass
{
}
}
Here's a screenshot of where I'm stuck:
It seems as though the only way to specify a List<MyClass>
as my Return Type is to create another user-defined datatype that is explicitly written as List<MyClass>
. If this is the case, so be it. However, I'm posting this in hopes that there is a better/proper way to do this.
How can I define the Return Type of an Operation of a Visio Interface to be a Generic List of a User-Defined Datatype?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在类图中属性>转到操作>选择您有兴趣更改的返回类型并单击属性。
在下一个对话框中,您将可以选择设置前缀
List<
和后缀>
。这样您就可以将返回类型指定为
List
。我在 Visio 2010 中看到此选项。但我不确定此选项在 Visio 2007 中是否可用。
In the Class diagram properties > Go to operations > select the return type you are interested in changing and click properties.
In the next dialog you will have option for setting prefix
List<
and suffix>
.This way you can specify the return type as
List<>
.I see this option in Visio 2010. But I am not sure if this option is available in Visio 2007.
UML 类图中不存在
T1
这样的东西。如果要指定该方法返回多个值,正确的表示法是:
此表示法比 C# 使用的表示法强大得多。
列表SomeMethod(string data)
没有提供有关方法契约的信息。使用 UML,您知道 in:SomeMethod
返回包含零个或多个元素的序列。SomethingElse
返回一个由一个或多个元素组成的序列:该序列永远不会为空。最后,LastExample
返回一个可选值。这可以在 C# 中表示为int? LastExample(uint number)
— 看,这里没有IEnumerable
。另请注意:
不应使用,因为
[*]
表示相同的内容并且更短。至于:是不正确的,尽管在互联网上被广泛使用。
There is no such a thing as
T1<T2>
in UML class diagrams.If you want to specify that the method returns several values, the correct notation is:
This notation is much more powerful than the one used by C#.
List<MyClass> SomeMethod(string data)
gives no information about the contract of the method. With UML, you know that in:SomeMethod
returns a sequence containing zero or more elements.SomethingElse
returns a sequence of one or several elements: this sequence is never empty. Finally,LastExample
returns an optional value. This could be expressed in C# asint? LastExample(uint number)
— see, noIEnumerable
here.Also note that:
shouldn't be used, since
[*]
means the same thing and is shorter. As for:is incorrect, despite being used a lot on the internet.