作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 强类型 DataSet
手动添加行将容易出错。我提供工厂方法 正确创建行。我想引导我类的消费者远离生成的 Add*Row
*Table
上的方法类。
添加 Obsolete attributes到生成的方法会成功的。遗憾的是,它们将在下次生成代码时被删除。
我无法使用 partial methods 在非生成代码中,因为 VS2008 DataSet 设计器不使用它们。MyType.Dataset.Designer.cs
看起来有点像这样:
public partial class ThingyDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable {
// I'd love an [Obsolete("Please use the factory method.")] here.
// I can't use a partial method, as this method isn't partial.
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public ShelfRow NewShelfRow()
return ((ShelfRow)(this.NewRow()));
}
}
Obsolete
来自
MyType.cs
的属性?尝试 C 风格的原型(prototype)是行不通的,因为成员已经定义。干扰
partial
不起作用,因为生成的成员不是
partial
.
// BROKEN EXAMPLE:
public partial class ThingyDataTable {
// I'd love an [Obsolete("Please use the factory method.")] here.
// I can't use a partial method, as this method isn't partial.
[Obsolete("Please use the factory method.")]
public ShelfRow NewShelfRow(); // ERROR: member already defined.
}
Obsolete
?
最佳答案
用于从 XSD 文件生成设计器文件的自定义工具并没有太多开箱即用的可配置性。
但是您可以:
关于.net - 如何将生成的方法标记为过时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/584102/
我是一名优秀的程序员,十分优秀!