Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将类重构为结构_C#_Visual Studio_Struct_Refactoring_Resharper - Fatal编程技术网

C# 将类重构为结构

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

我有一个代码库,在很多地方都使用了框架/域类型。该类型当前是一个类,但我想将其更改为struct,因为它符合struct使用建议,并且在语义上是一个值

有没有什么方法可以使重构自动化,以避免值与引用类型使用的潜在错误

我需要手动检查所有内容吗


PS:我不确定不可变性是否能解决所有潜在问题,如果我错了,请纠正我。

使结构不可变至少会破坏您必须深入查看的每一行的编译。通常情况下:成员分配。确保您有良好的单元测试。@DanielA.White-如果我们忘记了其他好处,单元测试可以有效地手动检查所有内容。您是否对其使用了任何引用平等性检查,或者您已经重载了各种相等方法/运算符来执行值检查了吗?如果您的结构是不可变的,那么在编译时无法看到的唯一错误源就是相等比较==,!=和.Equals,它们可以有不同的结果类:引用比较,结构:成员比较