c# - 是否可以防止在 C# WinForms 对话框中创建业务对象?
问题描述
要创建/编辑我的业务类的实例,例如,
class Person
{
public string Name {get;set;}
public DateTime DateOfBirth {get;set;}
}
我实现了一个用户控件
class PersonControl : UserControl
{
//...
public Person Person
{
get{...}
set{...}
}
}
其中 get 和 set 使用 PersonControl 类的控件。然后我创建一个对话框,一个窗体,并在其中创建一个 PersonControl 类的实例_ctrlPerson
。在我的对话框类中
public Person Person
{
get{return this._ctrlPerson.Person;}
set{this._ctrlPerson.Person = value;}
}
烦人的是,VisualStudio 在资源中创建了一个业务类 Person 的实例,用一些值填充它,并用它的值初始化用户控件的控件。这些值通常为 null 或无意义,因此设计器视图不会显示,以及其他副作用。
这种行为是否已知?如何防止 VS 创建寄生实例?
我正在使用 VD 2017 企业版。
解决方案
推荐阅读
- php - 苗条框架闭包中的 this 关键字
- python - 未找到扩展名。齿轮不和谐.py
- c++ - 有没有办法防止定义派生类的用户定义析构函数
- ios - IOS Firebase 推送通知在后台模式下不起作用
- java - Maven - 如何告诉 Maven 在 src/test/resources 下使用 application-integration.properties 运行集成测试?
- python - 如何在 Odoo 11 中获得总浮点值?
- angular - ng2-chart折线图删号
- javascript - 如何将字符串表示形式转换为数组整数?
- c++ - 链接器在 Hello World MPI 示例中抱怨
- ios - 如何在 Cocoapods 中使用二进制库发行版管理版本