c# - 为什么我需要 Dispose 一个 System.Net.Mail.MailMessage 实例?

标签 c# email

它分配了哪些需要处置的非托管资源?它不只是一个简单的托管数据数组吗?那么为什么要处置?

最佳答案

邮件消息有附件 -> 附件是流 -> 流将被处理。

MailMessage反编译后的Dispose方法如下:

    protected virtual void Dispose(bool disposing)
    {
        if (disposing && !this.disposed)
        {
            this.disposed = true;
            if (this.views != null)
            {
                this.views.Dispose();
            }
            if (this.attachments != null)
            {
                this.attachments.Dispose();
            }
            if (this.bodyView != null)
            {
                this.bodyView.Dispose();
            }
        }
    }

作为一般规则,一个类应该实现 IDisposable,如果它包含的任何子级实现它的话。

关于c# - 为什么我需要 Dispose 一个 System.Net.Mail.MailMessage 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8477769/

相关文章:

javascript - 发送电子邮件,而不是从我的服务器

c# - DataObjects.NET:一个好的(完美的、有文档的、支持的)ORM?

c# - 使用单声道在 Linux 中获取 MAC 地址

c# - TextBox OnClick 事件 - 单击了什么?

c# - 绑定(bind)到 ScrollViewer 的 ViewportWidth 和 ViewportHeight

html - 有什么方法可以跟踪电子邮件是否已被打开?

iphone - 如何在xcode上创建电子邮件表单?

html - 在邮件中发送时,时事通讯 css 行为很奇怪

c# - 将 Try-Catch 放在 For 循环中是不好的做法吗?

email - IMAP:搜索UID大于X的邮件(或通常在我上次搜索之后)