如何解决c#中对字段名称的过时处理
我一直在为过时的处理而苦苦挣扎,我知道在 c# 中过时的用法是什么。但我的问题不是 obsolete is management 的用法。
我有一个类,例如 salestransactionstep 包含名称、描述和数量,如下所示:
public class salestransactionstep
{
string name;
string description;
int quantity;
}
我想将数量字段数据类型更改为浮动。因为 int 字段不再满足我的需求。但是有些客户可能会使用 int 字段,而其他客户则不会。因此,我不想更改该字段,而是添加了一个新字段,该字段的数据类型是这样的浮动,并将过时的属性添加到我的旧字段中。
public class salestransactionstep
{
string name;
string description;
[Obsolete]
int quantity;
float quantity_float;
}
所以一些老客户使用int字段,其他使用float字段。我使用SQL查询取数据,有时计算int字段以满足旧客户需求,有时计算float字段以满足新客户。喜欢;
select count(quantity) from salestransactionstep
或
select count(quantity_float) from salestransactionstep
但在我看来,我没有正确管理这种用法。那么我该如何管理,正确处理过时的字段?
解决方法
您目前使用它的方式,只会在您尝试访问类的属性时在您的代码中触发警告。
如果你想触发一个错误,你可以这样做:
[Obsolete("Obsolete prop - Use quantity_float",true)]
如果您只想更改警告消息,请更改为 false。
,请注意您的设置,如果您只公开内部方法或网络服务 - 但我尽量避免对现有合同进行更改,因为随着时间的推移维护起来会变得一团糟。
考虑添加版本控制以提高可读性、模块化、关注点分离等。
您还可以获得“旧客户端”的选项,以便在准备好后在某个时候使用新版本,这样就可以一起删除旧代码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。