【问题标题】:Change VisualStudio Auto-generated Code更改 VisualStudio 自动生成的代码
【发布时间】:2011-03-22 13:12:48
【问题描述】:

我自己创建了一个继承自默认系统文本框的新文本框控件。如果我向我的设计器添加一个数据源,并且在 DataSource 视图中,我可以在可以拖动到设计器的控件列表中看到我的新文本控件。

我的问题是当我将控件拖到设计器上时,VS 会创建以下代码。

this.someValueTextEdit1.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.myViewModelBindingSource, "SomeValue", true));

当我将控件拖到设计器上时,我希望它使用一些自定义代码。

如果您想知道我为什么要这样做,我可以更改绑定,以便它使用 linq 和表达式树而不是字符串属性值。类似的东西

Bind(this.someValueTextEdit, c => c.EditValue, v => v.SomeValue);

【问题讨论】:

  • 为什么?没有意义,它不会让它变得更快。序列化它已经够痛苦的了,编写读取它的代码解析器会杀了你。
  • 我知道它不会让它更快,它确实使它成为强类型。

标签: visual-studio data-binding windows-forms-designer auto-generate


【解决方案1】:

您应该创建自己的 CodeDomSerializer 类。

使用示例:CodeDomSerializer Class on MSDN

【讨论】:

    猜你喜欢
    • 2012-05-06
    • 2014-07-17
    • 1970-01-01
    • 1970-01-01
    • 2010-10-04
    • 1970-01-01
    • 2016-03-15
    • 1970-01-01
    • 2017-07-19
    相关资源
    最近更新 更多