【发布时间】:2021-06-10 11:02:49
【问题描述】:
我一直在为过时的处理而苦苦挣扎,我知道 c# 中过时的用法是什么。但我的问题不是过时的用法是管理。
我有一个包含名称、描述和数量的类,例如 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
但在我看来,我没有正确管理这种用法。那么我该如何管理这个,正确处理过时的字段呢?
【问题讨论】:
-
旁注:您不应该公开字段,而是使用属性。
-
ObsoleteAttribute 不适用于客户。您是在询问数据库更改的向后兼容性还是其他问题?