Я создаю пользовательскую C# Windows библиотеку управления формами (DLL) в Visual Studio 2019 (Professional). У моего элемента управления есть свойство, которое принимает следующую форму (это свойство предназначено для доступа к приложениям, использующим DLL):
public double Hello
{
get { throw new ApplicationException("Hi!"); }
}
(В моих попытках выяснить, почему это происходит, я упростил свойство, чтобы просто вызвать исключение и больше ничего не делать.)
По какой-то причине, если я запускаю свой пользовательский элемент управления (в режиме отладки), возникает исключение - хотя нигде в этом коде это не вызывает имущество! (IDE подтверждает это, говоря «0 ссылок» над ним). Почему свойство «получить» метод доступа кажется вызванным без причины? Трассировка стека показывает, что «get» был вызван «[External code]» ...
Это должно быть довольно легко воспроизвести, если у вас Visual Studio 2019: создайте новый элемент управления * Windows Forms Библиотека (. NET Framework) "проект в C#, затем щелкните правой кнопкой мыши« UserControl1.cs »в обозревателе решений и выберите« Просмотреть код », а затем просто добавьте приведенный выше код в класс.