Skip to content

Commit 4369c1e

Browse files
author
Oren (electricessence)
committed
Cleanup.
1 parent b20a62d commit 4369c1e

File tree

9 files changed

+44
-20
lines changed

9 files changed

+44
-20
lines changed

.editorconfig

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
[*.cs]
2+
3+
# CA1707: Identifiers should not contain underscores
4+
dotnet_diagnostic.CA1707.severity = silent
5+
6+
# CA1303: Do not pass literals as localized parameters
7+
dotnet_diagnostic.CA1303.severity = silent
8+
9+
# CA1051: Do not declare visible instance fields
10+
dotnet_diagnostic.CA1051.severity = silent
11+
12+
# CA1063: Implement IDisposable Correctly
13+
dotnet_diagnostic.CA1063.severity = silent
14+
15+
# CA1816: Dispose methods should call SuppressFinalize
16+
dotnet_diagnostic.CA1816.severity = silent

AsyncDisposableBase.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*!
22
* @author electricessence / https://github.com/electricessence/
3-
* Licensing: MIT https://github.com/electricessence/Open.Disposable/blob/master/LISCENSE.md
3+
* Licensing: MIT https://github.com/Open-NET-Libraries/Open.Disposable/blob/master/LICENSE.md
44
*/
55

66
using System.Threading.Tasks;
@@ -56,7 +56,7 @@ private async ValueTask OnDisposeAsyncInternal(ValueTask onDispose)
5656
{
5757
try
5858
{
59-
await onDispose;
59+
await onDispose.ConfigureAwait(false);
6060
}
6161
finally
6262
{

AsyncDisposeHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*!
22
* @author electricessence / https://github.com/electricessence/
3-
* Licensing: MIThttps://github.com/electricessence/Open.Disposable/blob/master/LISCENSE.md
3+
* Licensing: MIT https://github.com/Open-NET-Libraries/Open.Disposable/blob/master/LICENSE.md
44
*/
55

66
using System;

DeferredCleanupBase.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*!
22
* @author electricessence / https://github.com/electricessence/
3-
* Licensing: MIThttps://github.com/electricessence/Open.Disposable/blob/master/LISCENSE.md
3+
* Licensing: MIT https://github.com/Open-NET-Libraries/Open.Disposable/blob/master/LICENSE.md
44
*/
55

66
using System;
@@ -100,7 +100,9 @@ public void SetCleanup(CleanupMode mode = CleanupMode.Deferred)
100100
// No past due action in order to prevent another thread from firing...
101101
LastCleanup = DateTime.MaxValue;
102102
DeferCleanup();
103-
Task.Factory.StartNew(() => Cleanup());
103+
#pragma warning disable CA2008 // Last cleanup value protects against repeat task creation.
104+
Task.Factory.StartNew(Cleanup);
105+
#pragma warning restore CA2008
104106
}
105107
}
106108
break;
@@ -119,7 +121,7 @@ public void DeferCleanup()
119121
if (WasDisposed) return;
120122
IsRunning = true;
121123

122-
if (_cleanupTimer == null)
124+
if (_cleanupTimer is null)
123125
_cleanupTimer = new Timer(Cleanup, null, _cleanupDelay, Timeout.Infinite);
124126
else
125127
_cleanupTimer.Change(_cleanupDelay, Timeout.Infinite);
@@ -138,7 +140,8 @@ public void ClearCleanup()
138140
}
139141
}
140142

141-
private void Cleanup(object? state = null)
143+
private void Cleanup() => Cleanup(null);
144+
private void Cleanup(object? state)
142145
{
143146
if (WasDisposed)
144147
return; // If another thread enters here after disposal don't allow.
@@ -147,10 +150,12 @@ private void Cleanup(object? state = null)
147150
{
148151
OnCleanup();
149152
}
153+
#pragma warning disable CA1031 // Do not catch general exception types
150154
catch (Exception ex)
151155
{
152156
Debug.WriteLine(ex.ToString());
153157
}
158+
#pragma warning restore CA1031 // Do not catch general exception types
154159

155160
lock (_timerSync)
156161
{

DisposableBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*!
22
* @author electricessence / https://github.com/electricessence/
3-
* Licensing: MIThttps://github.com/electricessence/Open.Disposable/blob/master/LISCENSE.md
3+
* Licensing: MIT https://github.com/Open-NET-Libraries/Open.Disposable/blob/master/LICENSE.md
44
*/
55

66
using System;

DisposableStateBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*!
22
* @author electricessence / https://github.com/electricessence/
3-
* Licensing: MIThttps://github.com/electricessence/Open.Disposable/blob/master/LISCENSE.md
3+
* Licensing: MIT https://github.com/Open-NET-Libraries/Open.Disposable/blob/master/LICENSE.md
44
*/
55

66
using System;

DisposeHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*!
22
* @author electricessence / https://github.com/electricessence/
3-
* Licensing: MIThttps://github.com/electricessence/Open.Disposable/blob/master/LISCENSE.md
3+
* Licensing: MIT https://github.com/Open-NET-Libraries/Open.Disposable/blob/master/LICENSE.md
44
*/
55

66
using System;

Extensions.cs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*!
22
* @author electricessence / https://github.com/electricessence/
3-
* Licensing: MIThttps://github.com/electricessence/Open.Disposable/blob/master/LISCENSE.md
3+
* Licensing: MIT https://github.com/Open-NET-Libraries/Open.Disposable/blob/master/LICENSE.md
44
*/
55

66
using System;
@@ -14,9 +14,8 @@ public static class DisposableExtensions
1414
{
1515
public static bool AssertIsAlive(this IDisposalState state)
1616
{
17-
if (state.WasDisposed)
18-
throw new ObjectDisposedException(state.GetType().ToString());
19-
17+
if (state is null) throw new ArgumentNullException(nameof(state));
18+
if (state.WasDisposed) throw new ObjectDisposedException(state.GetType().ToString());
2019
return true;
2120
}
2221

@@ -26,8 +25,7 @@ public static bool AssertIsAlive(this IDisposalState state)
2625
/// <param name="target"></param>
2726
public static void DisposeAll(this IEnumerable<IDisposable> target)
2827
{
29-
if (target == null)
30-
throw new ArgumentNullException(nameof(target));
28+
if (target is null) throw new ArgumentNullException(nameof(target));
3129
Contract.EndContractBlock();
3230

3331
foreach (var d in target)
@@ -42,7 +40,7 @@ public static void DisposeAll(this IEnumerable<IDisposable> target)
4240
/// <param name="disposeContents">If true, will dispose of each item (if disposable) before calling clear.</param>
4341
public static void Dispose<T>(this ICollection<T> target, bool disposeContents = false)
4442
{
45-
if (target == null) return;
43+
if (target is null) return;
4644

4745
// Disposing of each may trigger events that cause removal of from the underlying collection so allow for that before clearing the collection.
4846
if (disposeContents)

Open.Disposable.csproj

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Part of the "Open" set of libraries.
1515
<PackageProjectUrl>https://github.com/Open-NET-Libraries/Open.Disposable/</PackageProjectUrl>
1616
<RepositoryUrl>https://github.com/Open-NET-Libraries/Open.Disposable/</RepositoryUrl>
1717
<RepositoryType>git</RepositoryType>
18-
<Version>2.3.3</Version>
18+
<Version>2.4.0</Version>
1919
<PackageReleaseNotes></PackageReleaseNotes>
2020
<PackageLicenseExpression>MIT</PackageLicenseExpression>
2121
<PublishRepositoryUrl>true</PublishRepositoryUrl>
@@ -31,8 +31,6 @@ Part of the "Open" set of libraries.
3131
<ItemGroup>
3232
<None Remove=".git" />
3333
<None Remove=".gitignore" />
34-
<None Remove="LISCENSE.md" />
35-
<None Remove="README.md"/>
3634
<None Include="logo.png">
3735
<Pack>True</Pack>
3836
<PackagePath></PackagePath>
@@ -43,4 +41,11 @@ Part of the "Open" set of libraries.
4341
<PackageReference Include="System.Threading.Tasks.Extensions" Version="4.5.4" />
4442
</ItemGroup>
4543

44+
<ItemGroup>
45+
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="3.0.0">
46+
<PrivateAssets>all</PrivateAssets>
47+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
48+
</PackageReference>
49+
</ItemGroup>
50+
4651
</Project>

0 commit comments

Comments
 (0)