Представление общего метода C# в диаграмме классов UML

У меня есть следующий интерфейс:

public interface IRegisterable
{
   T Register<T>(string username, string passw) where T : User, ICanLogin, new();
}

User абстрактный класс, и ICanLogin другой интерфейс.

Теперь, я хочу представить вышеупомянутый интерфейс с его методом в Диаграмме классов UML в Visio.

Как я могу представить вышеупомянутый общий метод с его ограничениями в Диаграмме классов?

9
задан Andreas Grech 17 January 2010 в 13:14
поделиться

2 ответа

UML не поддерживает параметрические методы типа.

О самых близких, которые вы получите, это определить вложенный класс, который имеет ограничения типа с стереотипом, который вы будете интерпретировать как означающее, что это параметр типа , и определяют операцию с точки зрения того, что Отказ

+---------------------------------------------------+
|                   «interface»                     |
|                  IRegisterable                    |
+---------------------------------------------------+
| + Register (string username, string passw) : T    |
+---------------------------------------------------+

    +---------------+           +---------------+
    |  «abstract»   |           |  «interface»  |
    |     User      |           |   ICanLogin   |
    +---------------+           +---------------+
            .                           .
           /_\                         /_\
            |                           .
            +-----------+   .............
                        |   .
                +-------------------+              
                |  «typeParameter»  |
                | IRegisterable::T  |
                +-------------------+           
                | + new()           |
                +-------------------+           

    note: T is a nested class within IRegisterable
3
ответ дан 4 December 2019 в 21:49
поделиться
5
ответ дан 4 December 2019 в 21:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: