我使用Visual Studio 2015,并创建了一个类图,以概述我最常用的类及其成员。
我在名为 UserMessage :
的类中定义了一个委托public delegate void ProcessUserMessage(UserMessage message);
我在另一个类中使用此委托:
public UserMessage.ProcessUserMessage ProcessUserMessage;
到目前为止没有任何问题。
因为我讨厌每次都测试回调为null,所以我在初始化时挂起了一个no-op事件处理程序,如建议here:
public UserMessage.ProcessUserMessage ProcessUserMessage = delegate { };
但是当我这样做,并重新打开类图时,它无法加载,说:
找不到类图中的一个或多个形状的代码' ClassDiagram1.cd'。您想尝试自动修复类图吗?
当然,自动修复并不起作用; - (
即使我把这个初始化放在课堂上也是如此。构造函数,而不是在声明,出现相同的错误。
我不明白什么是错的。有线索吗?
<小时/> 的更新 我只使用失败的代码创建了一个空白项目:
public partial class MainWindow
{
public UserMessage.ProcessUserMessageDelegate ProcessUserMessage = delegate { };
}
public class UserMessage
{
public delegate void ProcessUserMessageDelegate(string foo);
}
奇怪的是,MainWindow的类图加载正常,但对于UserMessage,它失败了。但我没有改变UserMessage的任何标志。
如果我将类MainWindow更改为:
,则加载OKpublic partial class MainWindow
{
public UserMessage.ProcessUserMessageDelegate ProcessUserMessage;
}