【问题标题】:How to work with associations in Visual Studio's class diagram?如何在 Visual Studio 的类图中使用关联?
【发布时间】:2021-09-01 02:25:28
【问题描述】:

我正在为 C# 项目在 Visual Studio 的类图中设置我的第一步。

在类图中,我已经成功地创建了一个新类,添加了字段、属性和方法,从一个类到另一个类进行了关联,并自动生成了相应的代码。我还已经从一个现有的 C# 项目中生成了一个类图。

有两件事我没有成功,但非常关键:

  • 我在类图中创建了两个类,我创建了一个关联,我生成了源代码并从项目中删除了类图。我从自动生成的源代码重新创建了类图,但我没有看到任何关联。
  • 我在类图中创建了两个类,我想创建一个一对多的关联。我不知道该怎么做。

我正在使用 Visual Studio 2017,企业版,版本 15.9.36。

有人知道我能做什么吗? (那些已知的错误,我做错了什么,我应该怎么做,我是否为此使用了错误版本的 Visual Studio,...?)

提前致谢

【问题讨论】:

    标签: c# visual-studio visual-studio-2017 uml class-diagram


    【解决方案1】:

    我重现了第一个问题。您可以尝试右键单击类图并选择 Show as Association(一对一)或 Show as Collection Association(一对多)以显示类图。

    对于一对多关系,您可以使用列表。这是一个简单的例子:

    class Person
      {
        public string Name { get; set; }
        public int Age { get; set; }
        public List<Family> Fmailies { get; set; }
       //Code automatically generated when the class diagram creates an Association
        internal Family Family
        {
          get => default;
          set
          {
          }
        }
      }
    
    class Family
      {
        public string Name { get; set; }
        public string Relation { get; set; }
        
      }
    

    对应的类图:

    编辑: 当使用不在类图中的类时,创建新类是正常的。关联基于现有属性。您可以先创建属性,然后建立关联。

    我认为类之间的关联可能是可以检测到的,但它并没有在类图中明确显示。

    目前,我还没有找到在 Visual Studio 中自动显示关联的方法。您可以手动显示关联。

    【讨论】:

    • 我试过这个,并且完全按照你说的做,但是,如果使用了一个不在类图中的“类”,它会被添加为一个额外的类,甚至是基本类型int32。我希望有一个功能,它可以检测类图中类之间的关联,并自动显示所有这些,但我知道这可能还没有实现?
    • @多米尼克。我已经更新了我的答案,你可以检查一下。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-18
    • 2012-07-08
    • 2016-08-20
    • 2017-11-24
    • 2018-03-03
    相关资源
    最近更新 更多