Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在类图中初始化委托_C#_Delegates_Class Diagram - Fatal编程技术网

C# 在类图中初始化委托

C# 在类图中初始化委托,c#,delegates,class-diagram,C#,Delegates,Class Diagram,我使用Visual Studio 2015,并创建了一个类图,以概述我最常用的类及其成员 我在名为UserMessage的类中定义了一个委托: public delegate void ProcessUserMessage(UserMessage message); 奇怪的是,MainWindow的类图加载得很好,但对于UserMessage它失败了。但我不会为UserMessage更改任何内容 如果我将类MainWindow更改为: public partial class MainWindo

我使用Visual Studio 2015,并创建了一个类图,以概述我最常用的类及其成员

我在名为UserMessage的类中定义了一个委托:

public delegate void ProcessUserMessage(UserMessage message); 奇怪的是,MainWindow的类图加载得很好,但对于UserMessage它失败了。但我不会为UserMessage更改任何内容

如果我将类MainWindow更改为:

public partial class MainWindow
{
    public UserMessage.ProcessUserMessageDelegate ProcessUserMessage;
}
找到了解决方案

匿名无操作委托必须符合委托定义,因此我只需添加参数(
(string foo)
,在本例中):


在具有最少元素的新项目中重试。“不清楚您是否找到了错误的正确来源。我试过了,@Henkholtman,但还是一样。”。有趣的是,它正确地显示了主类图,但未能加载UserMessage类图。但是我在主类中做了更改,而不是在UserMessage类中,然后发布完整的源代码(不是图表),标记(注释掉)问题的原因。 public UserMessage.ProcessUserMessage ProcessUserMessage = delegate { };
public partial class MainWindow
{
    public UserMessage.ProcessUserMessageDelegate ProcessUserMessage = delegate { };
}

public class UserMessage
{
    public delegate void ProcessUserMessageDelegate(string foo);
}
public partial class MainWindow
{
    public UserMessage.ProcessUserMessageDelegate ProcessUserMessage;
}
public partial class MainWindow
{
    public UserMessage.ProcessUserMessageDelegate ProcessUserMessage = delegate (string foo){ };
}

public class UserMessage
{
    public delegate void ProcessUserMessageDelegate(string foo);
}