据ReferenceSource,该Version
班是sealed
,ICloneable
,IComparable
,IComparable
,IEquatable
.它也只存储int
价值.是不是有一个特殊原因让.NET程序员选择将它变成一个类而不是结构?为什么有人需要null
版本?
这是ReferenceSource的字段声明块:
// AssemblyName depends on the order staying the same private int _Major; private int _Minor; private int _Build = -1; private int _Revision = -1;
他们甚至发表评论,说他们需要保持字段一致.也许这只是我,但这真的是一个结构的东西?
为什么有人需要
null
版本?
指定未指定版本,例如,AssemblyName
在问题的注释中引用.一个AssemblyName
传递到时可以省略的版本Assembly.Load
,例如,在这种情况下,它的Version
性能会null
.请记住,这些类型是为.NET 1.0创建的,它没有泛型,因此Nullable
作为替代方法尚不存在.