这个bug应该修复吗?

Pat*_*gne 5 .net serialization

我昨天在.Net框架中发现了一个错误,发现它是一个已知错误,无法修复.简而言之,当一个int(可能还有其他二进制类型)被分配给该字段时,包含IComparable类型字段的类不能进行二进制序列化和反序列化:

[Serializable]
public class Foo
{
    public IComparable Value;
}
Run Code Online (Sandbox Code Playgroud)

如果您尝试序列化(和反序列化)以下两个对象,第一个将成功,第二个将失败:

var s = new Foo { Value = "foo" };
var i = new Foo { Value = 1 };
Run Code Online (Sandbox Code Playgroud)

我在这里更详细地描述了这个:http://ondevelopment.blogspot.com/2009/11/fix-that-bug-will-ya-no.html

您可以在此处找到错误报告(请注意,此报告来自2006年,而不是由我提交):http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeededID = 91177

这不会被修复,因为"修复的风险超过了它的好处".我没有看到任何(可收费的)情况,这将是一个突破性的变化.所以我的实际问题是,有人会想到一个真正的场景,这将是一个突破性的变化吗?

Joe*_*Joe 1

我没有看到任何(可行的)场景,这将是一个突破性的改变

我认为不会有任何故意的重大更改,但修复可能导致回归的错误还存在其他风险。

你的例子看起来很做作,所以我认为他们的结论是风险大于收益。如果这确实给您带来了问题,他们还为您提供了联系 PSS 的机会。