11using System . Diagnostics . CodeAnalysis ;
22
3- namespace Everywhere . Utils ;
3+ namespace Everywhere . Utilities ;
44
55public class DisposeCollector < T > ( bool enableDisposeOnFinalize = false ) : IReadOnlyList < T > , IDisposable where T : IDisposable
66{
77 public bool IsDisposed { get ; private set ; }
88
99 public bool EnableDisposeOnFinalize { get ; set ; } = enableDisposeOnFinalize ;
1010
11- protected readonly List < T > disposables = [ ] ;
11+ protected readonly List < T > _disposables = [ ] ;
1212
1313 ~ DisposeCollector ( )
1414 {
@@ -18,15 +18,15 @@ public class DisposeCollector<T>(bool enableDisposeOnFinalize = false) : IReadOn
1818 public T Add ( T disposable )
1919 {
2020 if ( IsDisposed ) throw new ObjectDisposedException ( nameof ( DisposeCollector < > ) ) ;
21- disposables . Add ( disposable ) ;
21+ _disposables . Add ( disposable ) ;
2222 return disposable ;
2323 }
2424
2525 public T Add ( Func < T > factory )
2626 {
2727 if ( IsDisposed ) throw new ObjectDisposedException ( nameof ( DisposeCollector < > ) ) ;
2828 var disposable = factory ( ) ;
29- disposables . Add ( disposable ) ;
29+ _disposables . Add ( disposable ) ;
3030 return disposable ;
3131 }
3232
@@ -35,7 +35,7 @@ public void RemoveAndDispose(ref T? disposable)
3535 if ( IsDisposed ) throw new ObjectDisposedException ( nameof ( DisposeCollector < > ) ) ;
3636 if ( disposable == null ) return ;
3737 disposable . Dispose ( ) ;
38- if ( ! disposables . Remove ( disposable ) ) return ;
38+ if ( ! _disposables . Remove ( disposable ) ) return ;
3939 disposable = default ;
4040 }
4141
@@ -45,8 +45,8 @@ public void RemoveAndDispose(ref T? disposable)
4545 public void DisposeAndClear ( )
4646 {
4747 // 逆序释放,防止释放后的对象被再次使用
48- foreach ( var disposable in disposables . Reversed ( ) ) disposable . Dispose ( ) ;
49- disposables . Clear ( ) ;
48+ foreach ( var disposable in _disposables . Reversed ( ) ) disposable . Dispose ( ) ;
49+ _disposables . Clear ( ) ;
5050 }
5151
5252 public void Dispose ( )
@@ -68,16 +68,16 @@ public static void DisposeToDefault(ref T? disposable)
6868
6969 public IEnumerator < T > GetEnumerator ( )
7070 {
71- return disposables . GetEnumerator ( ) ;
71+ return _disposables . GetEnumerator ( ) ;
7272 }
7373
7474 IEnumerator IEnumerable . GetEnumerator ( )
7575 {
76- return ( ( IEnumerable ) disposables ) . GetEnumerator ( ) ;
76+ return ( ( IEnumerable ) _disposables ) . GetEnumerator ( ) ;
7777 }
7878
79- public int Count => disposables . Count ;
80- public T this [ int index ] => disposables [ index ] ;
79+ public int Count => _disposables . Count ;
80+ public T this [ int index ] => _disposables [ index ] ;
8181}
8282
8383public class DisposeCollector ( bool enableDisposeOnFinalize = false ) : DisposeCollector < IDisposable > ( enableDisposeOnFinalize )
@@ -94,7 +94,7 @@ public void RemoveAndDispose<T>(ref T? disposable) where T : IDisposable
9494 {
9595 if ( IsDisposed ) throw new ObjectDisposedException ( nameof ( DisposeCollector < > ) ) ;
9696 if ( disposable == null ) return ;
97- disposables . Remove ( disposable ) ;
97+ _disposables . Remove ( disposable ) ;
9898 disposable . Dispose ( ) ;
9999 disposable = default ;
100100 }
@@ -105,12 +105,12 @@ public void Replace<T>([NotNullIfNotNull(nameof(newDisposable))] ref T? oldDispo
105105 if ( oldDisposable != null )
106106 {
107107 oldDisposable . Dispose ( ) ;
108- disposables . Remove ( oldDisposable ) ;
108+ _disposables . Remove ( oldDisposable ) ;
109109 }
110110
111111 oldDisposable = newDisposable ;
112112 if ( oldDisposable == null ) return ;
113- disposables . Add ( oldDisposable ) ;
113+ _disposables . Add ( oldDisposable ) ;
114114 }
115115
116116 [ MethodImpl ( MethodImplOptions . AggressiveInlining ) ]
0 commit comments