我创建了一个员工类,在创建员工类的对象后,您可以设置它的详细信息,例如:年龄和出生日期。类中的 validate 方法检查年龄是否与出生日期一致,如果不一致则删除员工实例。
我创建了一个类方法,它在屏幕上打印实例已删除,但我实际上希望该方法真正删除实例。
您无法在 C# 中删除实例,只能删除对它的任何活动引用并让 GC 完成其工作。
您可以做的是使用构建器模式将构建和验证分成单独的步骤。它可能看起来像这样:
public class EmployeeBuilder
{
private int age;
public void SetAge(int age) => this.age = age;
public Employee? ValidateAndCreate()
{
if (age < 20) return null;
return new Employee(age);
}
}
public class Employee
{
public int Age {get;}
public Employee(int age) => Age = age;
}
您可能还想查看 Fluent 构建器模式,了解同一想法的变体。