From 6c08810f943e8c7dbbf37dd198b1072edd5b0715 Mon Sep 17 00:00:00 2001 From: Elivo Date: Sun, 30 Mar 2025 21:15:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=20Class=20=E4=B8=AD=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=20IDisposable=EF=BC=8C=E6=94=AF=E6=8C=81=E9=87=8A?= =?UTF-8?q?=E6=94=BE=20Value=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Apewer/Class.cs | 9 ++++++++- Apewer/RuntimeUtility.cs | 8 ++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Apewer/Class.cs b/Apewer/Class.cs index a5fe390..44fd601 100644 --- a/Apewer/Class.cs +++ b/Apewer/Class.cs @@ -4,7 +4,7 @@ namespace Apewer { /// 装箱类。 - public sealed class Class // : IComparable, IComparable, IComparable> + public sealed class Class : IDisposable // : IComparable, IComparable, IComparable> { /// 值。 @@ -16,6 +16,13 @@ namespace Apewer /// 创建装箱实例,值为指定值。 public Class(T value) => Value = value; + #region IDisposable + + /// 如果 实现了 ,则释放 占用的系统资源。 + public void Dispose() => RuntimeUtility.Dispose(Value); + + #endregion + #region Override /// diff --git a/Apewer/RuntimeUtility.cs b/Apewer/RuntimeUtility.cs index bd837c5..2841888 100644 --- a/Apewer/RuntimeUtility.cs +++ b/Apewer/RuntimeUtility.cs @@ -546,11 +546,11 @@ namespace Apewer /// 执行与释放或重置非托管资源关联的应用程序定义的任务。 /// 可能出现的错误信息。 - public static void Dispose(object @object, bool flush = false) + public static void Dispose(object instance, bool flush = false) { - if (@object == null) return; + if (instance == null) return; - var stream = @object as Stream; + var stream = instance as Stream; if (stream != null) { if (flush) @@ -560,7 +560,7 @@ namespace Apewer try { stream.Close(); } catch { } } - var disposable = @object as IDisposable; + var disposable = instance as IDisposable; if (disposable != null) { try