【问题标题】:How can i program this UML class diagram to C# language? [closed]如何将此 UML 类图编程为 C# 语言? [关闭]
【发布时间】:2016-01-20 23:06:06
【问题描述】:

我对如何创建课程感到困惑,你能帮我吗??

   class AutomotiveManager
{
    private bool isBeingTested
    {
        set
        {
            isBeingTested= false;
        }
    }

    private dialogResult MessageBoxResult
    {
            ///need help over here
    }
}

【问题讨论】:

  • 你需要把它变成一个更好的问题。这听起来像是您要求我们为您编写项目。您具体想知道什么?
  • 我得到了这个 UML 类图,并被告知在 C# Visual Studio 中编写这个类,我对如何编写 UML 类感到困惑
  • 我不是懒骨头托马斯先生,我只是在问如何编写它并更好地注意你的语言
  • @user3443401 这太模糊了,您需要具体说明。您不熟悉 UML 类的哪些部分?我相信你知道一点。请记住,我们不是来为您编写的,而是帮助您完成已开始的工作
  • 关于如何 prgram dialogresult 我在下面做了一些工作:class AutomotiveManager { private bool isBeingTested { set { isBeingTested= false; } }

标签: c# windows visual-studio uml windows-forms-designer


【解决方案1】:

这里似乎有几个不同的问题。

  • 属性和属性的区别
  • 属性中=的含义
  • 您在声明 messageBoxResult 时遇到的错误(哪个错误?)

私有Attributes 只是私有属性。 所以像isBeingTested 这样的私有属性的实现将是

private bool isBeingTested;

属性中的= 表示默认值。这就是您在constructor 或属性声明中分配的值。对于isBeingTested,您可以像这样将其添加到声明中:

private bool isBeingTested = false;

但由于在 C# 中布尔值的默认值为 false,因此您甚至不需要指定它。当您尝试使用isBeingTested的设置器时,您的编程方式将陷入无限循环@

«Property» 大概表示您要创建一个Property 而不是Attribute,我猜{get;} 表示您只需要实现一个getter,而不是这个属性的setter。 (我在这里猜测,因为 UML 中没有定义)

您得到的错误可能是因为编译器不知道类型dialogResult。如果您添加 System.Windows.Forms 作为对您的项目的引用,它可能会知道类型 DialogResult(注意大写),并添加这样的 using 语句

using System.Windows.Forms;

PS。您也未能在该类上实现 static 关键字。

【讨论】:

    【解决方案2】:

    要将 UML 类图转换为 C# 类,您需要了解每个符号在 UML 类图中代表什么。来自tutorialspoint.com 的这张图片很有用:

    从那里开始,根据示例中提供的符号编写等效的 C# 代码。

    【讨论】:

    • 我如何编码消息框:对话框结果
    • 你是指ShowMessage()操作的返回结果还是messageBoxResult属性?
    • 我指的是两者,因为我试图对它们进行分类,但它向我显示错误
    猜你喜欢
    • 1970-01-01
    • 2014-06-07
    • 2017-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-29
    • 1970-01-01
    相关资源
    最近更新 更多