在C#中,构造函数的主要任务是初始化对象的状态。为了确保对象的完整性,构造函数应该执行以下操作:
public class MyClass
{
public int MyProperty { get; set; } = 0;
public MyClass()
{
// 设置默认值
}
}
public class MyClass
{
public int MyProperty { get; set; }
public MyClass(int value)
{
if (value < 0)
{
throw new ArgumentException("Value must be non-negative.");
}
MyProperty = value;
}
}
public class MyClass
{
public MyDependency MyDependency { get; set; }
public MyClass(MyDependency dependency)
{
if (dependency == null)
{
throw new ArgumentNullException(nameof(dependency));
}
MyDependency = dependency;
}
}
public class MyClass
{
public int MyProperty { get; set; }
public MyClass()
{
MyProperty = 0;
}
public MyClass(int value)
{
MyProperty = value;
}
}
通过遵循这些准则,构造函数可以确保对象的完整性,从而避免在使用对象时出现意外的行为或错误。