ASP.NET:实现Init和Dispose方法

| ASP.NET Web应用程序可以仅具有一个
Init
和一个
Dispose
方法,还是可以针对要与此类方法相关联的类在每个类中实现它们? 更具体地说,我有
Customer
组件和
CustomerRecord
类,并且想在两者中实现
Init
Dispose
方法。 正确的方法是什么? 需求: 我想为每个上述类提供独立的
Init
Dispose
方法。     
已邀请:
对于应该是一次性的类,通过公开的“ 1”方法,必须实现“ 9”接口以实现“可处置性”,以使其在明确的用户处置范围之外有效。在许多地方(包括此处)已经对此进行了多次讨论,例如:
public class Customer : IDisposable
{
    public void Dispose()
    {
        Dispose(true);
        GC.SupressFinalize(this);
    }

    protected virtual void Dispose(bool disposing)
    {
        if (disposing)
        {
            //dispose of managed resources
        }
        //dispose of unmanaged resources
    }

    ~Customer()
    {
        Dispose(false);
    }
}
请注意,析构函数(以波浪号
~
开头的方法)可能不是必需的,但请阅读我上面链接的答案中的详细信息,以清楚了解原因和原因-这仅直接回答了您的问题。 至于
Init
方法,您是指构造函数吗? 如果是这样,那么请看上面例子中的析构函数;构造器(或初始化器)的定义方式可以与波浪号相减,通常还可以加上显式访问修饰符(
public
private
等),例如:
public class Customer
{
    public Customer()
    {

    }
}
    
您可以根据需要使用Init和Dispose方法创建基类,然后使其他类从其继承。例如:
public class BaseClass
{
    public void Init()
    {
        //Some code
    }

    public void Dispose()
    {
        //Some code
    }
}

public class Customer : BaseClass
{
    //Some code
}
那可能对您有帮助。     

要回复问题请先登录注册