使用Visual Studio建模项目创建C#事件

使用Visual Studio建模项目创建C#事件,c#,.net,visual-studio-2010,uml,code-generation,C#,.net,Visual Studio 2010,Uml,Code Generation,我开始在VS中使用UML建模。我尝试用几个类创建图表,连接它们并从模型中生成一些代码——在安装功能包之后,一切似乎都很好 然而,我缺少的是声明事件的能力——它在.Net中扮演着相当重要的角色(并且通常是设计的关键) 如何在Visual Studio的UML类图中声明事件? 编辑: 把事情弄清楚。一段时间以来,我对VisualStudio中C#项目中的类图特性不感兴趣 此问题与Visual Studio 2010 Ultimate中的一项新功能有关。希望以下链接能够帮助您 您应该尝试包括观察者\事

我开始在VS中使用UML建模。我尝试用几个类创建图表,连接它们并从模型中生成一些代码——在安装功能包之后,一切似乎都很好

然而,我缺少的是声明事件的能力——它在.Net中扮演着相当重要的角色(并且通常是设计的关键)

如何在Visual Studio的UML类图中声明事件?

编辑:

把事情弄清楚。一段时间以来,我对VisualStudio中C#项目中的类图特性不感兴趣


此问题与Visual Studio 2010 Ultimate中的一项新功能有关。

希望以下链接能够帮助您


您应该尝试包括观察者\事件模式。这里讨论得很好

UML与实现语言无关。在UML中定义特定于语言的习惯用法的正确方法是使用。原型是UML元类的一种专门化。定义将类扩展为EventHandler的类和扩展消息的事件原型。然后将这些原型适当地应用于模型中的类。然后,您可以将特定于语言的习语实现细节放在原型中。

以上所有内容对我都没有用处。下面是如何启用C语言概念:

  • 确保您已经有一个建模项目或创建了一个
  • 在VisualStudio中选择架构->窗口->UML模型浏览器
  • 选择建模项目并打开“属性”面板
  • 在“配置文件”下点击“配置文件”复选框
要将事件添加到类图中,请执行以下操作:

  • 在类上创建新属性
  • 在属性面板中,选中原型中的“C#event”

遗憾的是,在属性上没有可视指示将其标记为事件。

在我看来,在UML中处理事件是不可能的。我试过了,但从来没有发现该怎么做,这是一个很好的问题……可悲的是,这没有帮助。类图不是建模项目。类图是所有C#项目中可用的简化类设计工具。建模项目是VisualStudio2010Ultimate中的一项新功能(因此缺少在线资料),是一个具有类、过程、序列、层和其他图表的成熟UML架构设计师。这对我有什么帮助?那里需要事件(事件是观察者模式的实现)。我需要找到一种在UML中表示事件的方法,而不是避免使用事件。我认为我们没有在UML图中直接表示事件的方法。谢谢您的回答。在研究了20多分钟的文档之后,我终于发现特性包中提供了带有“事件”原型的C#profile。然而,代码生成模板似乎完全忽略了这个原型的属性。我会继续研究这个问题,所以我不会把它作为答案。但是我会给你奖金(否则就会过期)。@Matěj Zábský:我注意到了和你一样的行为。我提出了一个错误。如果您有权访问该网站,请投票表决,以便尽快予以关注。@Matěj:Update:MS已回复错误报告,并承诺在下一版本中解决该问题。他们还提供了一个变通方法(我还没有机会测试)。有关详细信息,请参阅评论线程。@Kmote我可以确认此问题已在VS 2012 RC中修复。感谢您推动microsoft解决此问题:)