Я использую Visual Studio 2015, и я создал диаграмму классов, чтобы иметь обзор моих самых используемых классов и их членов.инициализированные делегаты в диаграмме классов
У меня есть делегат, определенный в классе с именем UserMessage:
public delegate void ProcessUserMessage(UserMessage message);
Я использую этот делегат в другом классе:
public UserMessage.ProcessUserMessage ProcessUserMessage;
До сих пор никаких проблем.
Потому что я ненавижу Тестирование обратного вызова нуль каждый раз, когда я подключить обработчик не Кооперативная события при инициализации, как это было предложено here:
public UserMessage.ProcessUserMessage ProcessUserMessage = delegate { };
Но когда я делаю это, и повторно открыть класс диаграмма, он не загружается, говоря:
Код не найден для одной или нескольких фигур в диаграмме классов 'ClassDiagram1.cd'. Вы хотите попытаться автоматически восстановить диаграмму классов?
Авто-ремонт не работает конечно ;-(
Даже когда я устанавливаю этот initiatlization в классе конструктора, вместо того, чтобы при объявлении, появляется та же ошибка.
Я не понимаю, что не так ли ключи
Update:.? Я создал пустой проект только с неисправным кодом:
public partial class MainWindow
{
public UserMessage.ProcessUserMessageDelegate ProcessUserMessage = delegate { };
}
public class UserMessage
{
public delegate void ProcessUserMessageDelegate(string foo);
}
Странно, что диаграмма классов для MainWindow загружается нормально, но для UserMessage она терпит неудачу. Но я не изменяю anythign для UserMessage.
Он загружает нормально, если я изменить класс MainWindow к:
public partial class MainWindow
{
public UserMessage.ProcessUserMessageDelegate ProcessUserMessage;
}
Повторите попытку в новом проекте с минимальными элементами. Не ясно, что вы указали правильный источник ошибки. –
Я пробовал это, @HenkHolterman, но он все тот же. Самое смешное, что он правильно показывает диаграмму основного класса, но он не загружает диаграмму классов ** UserMessage **. Но я внес изменения в основной класс, а не в класс UserMessage – Anderman
. Затем опубликуйте полный исходный код (а не диаграмму), отметьте (закомментируйте), что вызывает проблему. –