c#构造函数中的默认值与序列化的两个构造函数相同
本文关键字:构造函数 两个 序列化 默认值 | 更新日期: 2023-09-27 18:13:42
当我提供一个默认值为
的构造函数时 public MyClass(string description = null) { .... }
是否等价于
public MyClass() { .... }
public MyClass(string description) { .... }
在序列化方面。换句话说,默认构造函数可用吗?实际上是这样,但是当我使用序列化时,会遇到一些问题吗?
No。可惜它不是默认构造函数。
当你写:
public MyClass(string description = null) { .... }
你实际上是在构造一个接受字符串参数的构造函数,但有一个属性标记该属性的默认值。
是的,那样的话你就有问题了。
我试图通过反射调用你描述的构造函数,它抛出TargetInvokationException:(参数计数不匹配)。