我有一个类似这样的课程:
public class MyClass
{
MyClass(SomeOtherObject TheObject)
{
....
}
}
如您所见,构造函数接受一个对象作为参数。如何更改构造函数以使对象参数成为可选参数?
注意:我确实在谷歌上看过,大多数帖子都谈到了一个可选的值参数,但我需要一个可选的类型参数。
答案 0 :(得分:7)
重载构造函数。
public class MyClass
{
MyClass()
{
....
}
MyClass(SomeOtherObject TheObject)
{
....
}
}
答案 1 :(得分:3)
为什么不这样:
public class MyClass
{
MyClass(SomeOtherObject TheObject = null)
{
....
}
}
这样就省略了构造对象的参数。
var cls = new MyClass(); //NO PARAMETER SPECIFIED
通过这种方式,您必须在此情况下管理您分配给field/property
的{{1}}可以成为TheObject
。
或者只是使用ctors ctors重载:
null
答案 2 :(得分:3)
构造函数重载是否有效?
public class MyClass
{
MyClass(Object TheObject)
{
}
MyClass()
{
}
}