Skip to content

Commit 2b33d11

Browse files
committed
Fix some warnings and suggestions proposed by ReSharper
1 parent e02d19e commit 2b33d11

File tree

8 files changed

+38
-27
lines changed

8 files changed

+38
-27
lines changed

sample/Sample/Program.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
using Serilog.Events;
1313
using Serilog.Debugging;
1414

15+
// ReSharper disable UnusedType.Global
16+
1517
namespace Sample
1618
{
1719
public class Program
@@ -31,7 +33,7 @@ public static void Main(string[] args)
3133
.ReadFrom.Configuration(configuration)
3234
.CreateLogger();
3335

34-
logger.Information("Args: {a}", args);
36+
logger.Information("Args: {Args}", args);
3537

3638
do
3739
{
@@ -79,6 +81,7 @@ public bool IsEnabled(LogEvent logEvent)
7981
public class LoginData
8082
{
8183
public string Username;
84+
// ReSharper disable once NotAccessedField.Global
8285
public string Password;
8386
}
8487

@@ -88,12 +91,12 @@ public bool TryDestructure(object value, ILogEventPropertyValueFactory propertyV
8891
{
8992
result = null;
9093

91-
if (value is LoginData)
94+
if (value is LoginData loginData)
9295
{
9396
result = new StructureValue(
9497
new List<LogEventProperty>
9598
{
96-
new LogEventProperty("Username", new ScalarValue(((LoginData)value).Username))
99+
new("Username", new ScalarValue(loginData.Username))
97100
});
98101
}
99102

serilog-settings-configuration.sln.DotSettings

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -556,4 +556,6 @@ II.2.12 &lt;HandlesEvent /&gt;&#xD;
556556

557557

558558
<s:String x:Key="/Default/FilterSettingsManager/AttributeFilterXml/@EntryValue">&lt;data /&gt;</s:String>
559-
<s:String x:Key="/Default/FilterSettingsManager/CoverageFilterXml/@EntryValue">&lt;data&gt;&lt;IncludeFilters /&gt;&lt;ExcludeFilters /&gt;&lt;/data&gt;</s:String></wpf:ResourceDictionary>
559+
<s:String x:Key="/Default/FilterSettingsManager/CoverageFilterXml/@EntryValue">&lt;data&gt;&lt;IncludeFilters /&gt;&lt;ExcludeFilters /&gt;&lt;/data&gt;</s:String>
560+
<s:Boolean x:Key="/Default/UserDictionary/Words/=Enricher/@EntryIndexedValue">True</s:Boolean>
561+
<s:Boolean x:Key="/Default/UserDictionary/Words/=polyfilled/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>

src/Serilog.Settings.Configuration/Settings/Configuration/ConfigurationReader.cs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ void ApplyMinimumLevel(LoggerConfiguration loggerConfiguration)
146146
var defaultMinLevelDirective = minimumLevelDirective.Value != null ? minimumLevelDirective : minimumLevelDirective.GetSection("Default");
147147
if (defaultMinLevelDirective.Value != null)
148148
{
149-
ApplyMinimumLevel(defaultMinLevelDirective, (configuration, levelSwitch) => configuration.ControlledBy(levelSwitch));
149+
ApplyMinimumLevelConfiguration(defaultMinLevelDirective, (configuration, levelSwitch) => configuration.ControlledBy(levelSwitch));
150150
}
151151

152152
var minLevelControlledByDirective = minimumLevelDirective.GetSection("ControlledBy");
@@ -163,7 +163,7 @@ void ApplyMinimumLevel(LoggerConfiguration loggerConfiguration)
163163
var overridenLevelOrSwitch = overrideDirective.Value;
164164
if (Enum.TryParse(overridenLevelOrSwitch, out LogEventLevel _))
165165
{
166-
ApplyMinimumLevel(overrideDirective, (configuration, levelSwitch) => configuration.Override(overridePrefix, levelSwitch));
166+
ApplyMinimumLevelConfiguration(overrideDirective, (configuration, levelSwitch) => configuration.Override(overridePrefix, levelSwitch));
167167
}
168168
else
169169
{
@@ -173,7 +173,7 @@ void ApplyMinimumLevel(LoggerConfiguration loggerConfiguration)
173173
}
174174
}
175175

176-
void ApplyMinimumLevel(IConfigurationSection directive, Action<LoggerMinimumLevelConfiguration, LoggingLevelSwitch> applyConfigAction)
176+
void ApplyMinimumLevelConfiguration(IConfigurationSection directive, Action<LoggerMinimumLevelConfiguration, LoggingLevelSwitch> applyConfigAction)
177177
{
178178
var minimumLevel = ParseLogEventLevel(directive.Value);
179179

@@ -261,9 +261,9 @@ void ApplyEnrichment(LoggerConfiguration loggerConfiguration)
261261
var propertiesDirective = _section.GetSection("Properties");
262262
if (propertiesDirective.GetChildren().Any())
263263
{
264-
foreach (var enrichProperyDirective in propertiesDirective.GetChildren())
264+
foreach (var enrichPropertyDirective in propertiesDirective.GetChildren())
265265
{
266-
loggerConfiguration.Enrich.WithProperty(enrichProperyDirective.Key, enrichProperyDirective.Value);
266+
loggerConfiguration.Enrich.WithProperty(enrichPropertyDirective.Key, enrichPropertyDirective.Value);
267267
}
268268
}
269269
}
@@ -356,11 +356,11 @@ static IReadOnlyCollection<Assembly> LoadConfigurationAssemblies(IConfigurationS
356356
return assemblies.Values.ToList().AsReadOnly();
357357
}
358358

359-
void CallConfigurationMethods(ILookup<string, Dictionary<string, IConfigurationArgumentValue>> methods, IList<MethodInfo> configurationMethods, object receiver)
359+
void CallConfigurationMethods(ILookup<string, Dictionary<string, IConfigurationArgumentValue>> methods, IReadOnlyCollection<MethodInfo> configurationMethods, object receiver)
360360
{
361361
foreach (var method in methods.SelectMany(g => g.Select(x => new { g.Key, Value = x })))
362362
{
363-
var methodInfo = SelectConfigurationMethod(configurationMethods, method.Key, method.Value.Keys);
363+
var methodInfo = SelectConfigurationMethod(configurationMethods, method.Key, method.Value.Keys.ToList());
364364

365365
if (methodInfo != null)
366366
{
@@ -409,7 +409,7 @@ object GetImplicitValueForNotSpecifiedKey(ParameterInfo parameter, MethodInfo me
409409
return parameter.DefaultValue;
410410
}
411411

412-
internal static MethodInfo SelectConfigurationMethod(IEnumerable<MethodInfo> candidateMethods, string name, IEnumerable<string> suppliedArgumentNames)
412+
internal static MethodInfo SelectConfigurationMethod(IReadOnlyCollection<MethodInfo> candidateMethods, string name, IReadOnlyCollection<string> suppliedArgumentNames)
413413
{
414414
// Per issue #111, it is safe to use case-insensitive matching on argument names. The CLR doesn't permit this type
415415
// of overloading, and the Microsoft.Extensions.Configuration keys are case-insensitive (case is preserved with some
@@ -464,7 +464,7 @@ static bool ParameterNameMatches(string actualParameterName, IEnumerable<string>
464464
return suppliedNames.Any(s => ParameterNameMatches(actualParameterName, s));
465465
}
466466

467-
static IList<MethodInfo> FindSinkConfigurationMethods(IReadOnlyCollection<Assembly> configurationAssemblies)
467+
static IReadOnlyCollection<MethodInfo> FindSinkConfigurationMethods(IReadOnlyCollection<Assembly> configurationAssemblies)
468468
{
469469
var found = FindConfigurationExtensionMethods(configurationAssemblies, typeof(LoggerSinkConfiguration));
470470
if (configurationAssemblies.Contains(typeof(LoggerSinkConfiguration).GetTypeInfo().Assembly))
@@ -473,15 +473,15 @@ static IList<MethodInfo> FindSinkConfigurationMethods(IReadOnlyCollection<Assemb
473473
return found;
474474
}
475475

476-
static IList<MethodInfo> FindAuditSinkConfigurationMethods(IReadOnlyCollection<Assembly> configurationAssemblies)
476+
static IReadOnlyCollection<MethodInfo> FindAuditSinkConfigurationMethods(IReadOnlyCollection<Assembly> configurationAssemblies)
477477
{
478478
var found = FindConfigurationExtensionMethods(configurationAssemblies, typeof(LoggerAuditSinkConfiguration));
479479
if (configurationAssemblies.Contains(typeof(LoggerAuditSinkConfiguration).GetTypeInfo().Assembly))
480480
found.AddRange(SurrogateConfigurationMethods.AuditTo);
481481
return found;
482482
}
483483

484-
static IList<MethodInfo> FindFilterConfigurationMethods(IReadOnlyCollection<Assembly> configurationAssemblies)
484+
static IReadOnlyCollection<MethodInfo> FindFilterConfigurationMethods(IReadOnlyCollection<Assembly> configurationAssemblies)
485485
{
486486
var found = FindConfigurationExtensionMethods(configurationAssemblies, typeof(LoggerFilterConfiguration));
487487
if (configurationAssemblies.Contains(typeof(LoggerFilterConfiguration).GetTypeInfo().Assembly))
@@ -490,7 +490,7 @@ static IList<MethodInfo> FindFilterConfigurationMethods(IReadOnlyCollection<Asse
490490
return found;
491491
}
492492

493-
static IList<MethodInfo> FindDestructureConfigurationMethods(IReadOnlyCollection<Assembly> configurationAssemblies)
493+
static IReadOnlyCollection<MethodInfo> FindDestructureConfigurationMethods(IReadOnlyCollection<Assembly> configurationAssemblies)
494494
{
495495
var found = FindConfigurationExtensionMethods(configurationAssemblies, typeof(LoggerDestructuringConfiguration));
496496
if (configurationAssemblies.Contains(typeof(LoggerDestructuringConfiguration).GetTypeInfo().Assembly))
@@ -499,7 +499,7 @@ static IList<MethodInfo> FindDestructureConfigurationMethods(IReadOnlyCollection
499499
return found;
500500
}
501501

502-
static IList<MethodInfo> FindEventEnricherConfigurationMethods(IReadOnlyCollection<Assembly> configurationAssemblies)
502+
static IReadOnlyCollection<MethodInfo> FindEventEnricherConfigurationMethods(IReadOnlyCollection<Assembly> configurationAssemblies)
503503
{
504504
var found = FindConfigurationExtensionMethods(configurationAssemblies, typeof(LoggerEnrichmentConfiguration));
505505
if (configurationAssemblies.Contains(typeof(LoggerEnrichmentConfiguration).GetTypeInfo().Assembly))

src/Serilog.Settings.Configuration/Settings/Configuration/LoggingFilterSwitchProxy.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ class LoggingFilterSwitchProxy
1111
{
1212
RealSwitch = realSwitch ?? throw new ArgumentNullException(nameof(realSwitch));
1313

14-
var expressionProperty = realSwitch.GetType().GetProperty("Expression");
14+
var type = realSwitch.GetType();
15+
var expressionProperty = type.GetProperty("Expression") ?? throw new MissingMemberException(type.FullName, "Expression");
1516

1617
_setProxy = (Action<string>)Delegate.CreateDelegate(
1718
typeof(Action<string>),

src/Serilog.Settings.Configuration/Settings/Configuration/ObjectArgumentValue.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ public object ConvertTo(Type toType, ResolutionContext resolutionContext)
4848
if (toType.IsArray)
4949
return CreateArray();
5050

51-
if (IsContainer(toType, out var elementType) && TryCreateContainer(out var result))
52-
return result;
51+
if (IsContainer(toType, out var elementType) && TryCreateContainer(out var container))
52+
return container;
5353

5454
if (TryBuildCtorExpression(_section, toType, resolutionContext, out var ctorExpression))
5555
{
@@ -61,17 +61,17 @@ public object ConvertTo(Type toType, ResolutionContext resolutionContext)
6161

6262
object CreateArray()
6363
{
64-
var elementType = toType.GetElementType();
64+
var arrayElementType = toType.GetElementType()!;
6565
var configurationElements = _section.GetChildren().ToArray();
66-
var result = Array.CreateInstance(elementType, configurationElements.Length);
66+
var array = Array.CreateInstance(arrayElementType, configurationElements.Length);
6767
for (int i = 0; i < configurationElements.Length; ++i)
6868
{
6969
var argumentValue = ConfigurationReader.GetArgumentValue(configurationElements[i], _configurationAssemblies);
70-
var value = argumentValue.ConvertTo(elementType, resolutionContext);
71-
result.SetValue(value, i);
70+
var value = argumentValue.ConvertTo(arrayElementType, resolutionContext);
71+
array.SetValue(value, i);
7272
}
7373

74-
return result;
74+
return array;
7575
}
7676

7777
bool TryCreateContainer(out object result)
@@ -82,7 +82,7 @@ bool TryCreateContainer(out object result)
8282
return false;
8383

8484
// https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/object-and-collection-initializers#collection-initializers
85-
var addMethod = toType.GetMethods().FirstOrDefault(m => !m.IsStatic && m.Name == "Add" && m.GetParameters()?.Length == 1 && m.GetParameters()[0].ParameterType == elementType);
85+
var addMethod = toType.GetMethods().FirstOrDefault(m => !m.IsStatic && m.Name == "Add" && m.GetParameters().Length == 1 && m.GetParameters()[0].ParameterType == elementType);
8686
if (addMethod == null)
8787
return false;
8888

test/Serilog.Settings.Configuration.Tests/ConfigurationSettingsTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -681,6 +681,7 @@ public void DestructureWithCollectionsOfTypeArgument()
681681

682682
ConfigFromJson(json);
683683

684+
Assert.NotNull(DummyPolicy.Current);
684685
Assert.Equal(typeof(TimeSpan), DummyPolicy.Current.Type);
685686
Assert.Equal(new[] { typeof(int), typeof(string) }, DummyPolicy.Current.Array);
686687
Assert.Equal(new[] { typeof(byte), typeof(short) }, DummyPolicy.Current.List);

test/Serilog.Settings.Configuration.Tests/ObjectArgumentValueTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44

55
using Xunit;
66

7+
// ReSharper disable UnusedMember.Local
8+
// ReSharper disable UnusedParameter.Local
9+
// ReSharper disable UnusedType.Local
10+
711
namespace Serilog.Settings.Configuration.Tests
812
{
913
public class ObjectArgumentValueTests

test/TestDummies/Console/DummyConsoleSink.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public DummyConsoleSink(ConsoleTheme theme = null)
1717
public static ConsoleTheme Theme;
1818

1919
[ThreadStatic]
20-
static List<LogEvent> EmittedList = new List<LogEvent>();
20+
static List<LogEvent> EmittedList;
2121

2222
public static List<LogEvent> Emitted => EmittedList ?? (EmittedList = new List<LogEvent>());
2323

0 commit comments

Comments
 (0)