C# 将类重构为结构
我有一个代码库,在很多地方都使用了框架/域类型。该类型当前是一个类,但我想将其更改为struct,因为它符合struct使用建议,并且在语义上是一个值 有没有什么方法可以使重构自动化,以避免值与引用类型使用的潜在错误 我需要手动检查所有内容吗C# 将类重构为结构,c#,visual-studio,struct,refactoring,resharper,C#,Visual Studio,Struct,Refactoring,Resharper,我有一个代码库,在很多地方都使用了框架/域类型。该类型当前是一个类,但我想将其更改为struct,因为它符合struct使用建议,并且在语义上是一个值 有没有什么方法可以使重构自动化,以避免值与引用类型使用的潜在错误 我需要手动检查所有内容吗 PS:我不确定不可变性是否能解决所有潜在问题,如果我错了,请纠正我。使结构不可变至少会破坏您必须深入查看的每一行的编译。通常情况下:成员分配。确保您有良好的单元测试。@DanielA.White-如果我们忘记了其他好处,单元测试可以有效地手动检查所有内容。
PS:我不确定不可变性是否能解决所有潜在问题,如果我错了,请纠正我。使结构不可变至少会破坏您必须深入查看的每一行的编译。通常情况下:成员分配。确保您有良好的单元测试。@DanielA.White-如果我们忘记了其他好处,单元测试可以有效地手动检查所有内容。您是否对其使用了任何引用平等性检查,或者您已经重载了各种相等方法/运算符来执行值检查了吗?如果您的结构是不可变的,那么在编译时无法看到的唯一错误源就是相等比较==,!=和.Equals,它们可以有不同的结果类:引用比较,结构:成员比较