Можно ли предотвратить создание бизнес-объекта в диалоговом окне C# WinForms? - PullRequest
0 голосов
/ 21 апреля 2020

Чтобы создать / редактировать экземпляр моего бизнес-класса, скажем,

class Person
{
  public string Name {get;set;}
  public DateTime DateOfBirth {get;set;}
}

Я реализую пользовательский элемент управления, который имеет

class PersonControl : UserControl
{
  //...
  public Person Person
  {
    get{...}
    set{...}
  }
} 

, где можно получить и настроить работу с элементами управления класс PersonControl. Затем я создаю диалог, форму и создаю экземпляр класса PersonControl, _ctrlPerson в нем. В диалоговом классе, который у меня есть,

  public Person Person
  {
    get{return this._ctrlPerson.Person;}
    set{this._ctrlPerson.Person = value;}
  }

Раздражительно, VisualStudio создает экземпляр бизнес-класса Person в ресурсах, заполняет его некоторыми значениями и инициализирует элементы управления пользовательского элемента управления его значениями. Эти значения часто бывают нулевыми или иным образом бессмысленными, так что представление конструктора не отображается вместе с другими побочными эффектами.

Известно ли такое поведение? Как я могу запретить VS создавать паразитные экземпляры?

Я использую VD 2017 Enterprise.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...