如何在类中创建方法来删除类实例?

问题描述 投票:0回答:1

我创建了一个员工类,在创建员工类的对象后,您可以设置它的详细信息,例如:年龄和出生日期。类中的 validate 方法检查年龄是否与出生日期一致,如果不一致则删除员工实例。

我创建了一个类方法,它在屏幕上打印实例已删除,但我实际上希望该方法真正删除实例。

c# class methods
1个回答
0
投票

您无法在 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 构建器模式,了解同一想法的变体。

© www.soinside.com 2019 - 2024. All rights reserved.