And*_*ech 9 c# generics uml visio class-diagram
我有以下界面:
public interface IRegisterable
{
T Register<T>(string username, string passw) where T : User, ICanLogin, new();
}
Run Code Online (Sandbox Code Playgroud)
User
是一个抽象类,ICanLogin
是另一个接口.
现在,我想在Visio中的UML类图中用其方法表示上面的接口.
如何在类图中用约束表示上面的泛型方法?
小智 5
泛型类是UML中的Template类,请参阅使用UML表示模板类的正确方法是什么?
所以你不能在Visio中使用thye参数化类http://etutorials.org/Programming/UML/Chapter+6.+Class+Diagrams+Advanced+Concepts/Parameterized+Class/
UML 不直接支持类型参数方法。
\n\n您将得到的最接近的是定义一个嵌套类,该类具有带有构造型的类型约束,您将其解释为意味着它是一个类型参数,并定义Register
据此定义操作。
+---------------------------------------------------+\n| \xc2\xabinterface\xc2\xbb |\n| IRegisterable |\n+---------------------------------------------------+\n| + Register (string username, string passw) : T |\n+---------------------------------------------------+\n\n +---------------+ +---------------+\n | \xc2\xababstract\xc2\xbb | | \xc2\xabinterface\xc2\xbb |\n | User | | ICanLogin |\n +---------------+ +---------------+\n . .\n /_\\ /_\\\n | .\n +-----------+ .............\n | .\n +-------------------+ \n | \xc2\xabtypeParameter\xc2\xbb |\n | IRegisterable::T |\n +-------------------+ \n | + new() |\n +-------------------+ \n\n note: T is a nested class within IRegisterable\n
Run Code Online (Sandbox Code Playgroud)\n