Skip to content

Commit 5c3bfb2

Browse files
authored
Merge pull request #984 from Caliburn-Micro/alert-autofix-194
Potential fix for code scanning alert no. 194: Missed opportunity to use Where
2 parents c037041 + bff4aff commit 5c3bfb2

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

src/Caliburn.Micro.Platform/Platforms/uap/XamlMetadataProvider.cs

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
{
33
using System;
44
using System.Collections.Generic;
5-
5+
using System.Linq;
66
#if WinUI3
77
using Microsoft.UI.Xaml;
88
using Microsoft.UI.Xaml.Markup;
@@ -260,7 +260,8 @@ public virtual IXamlType KeyType
260260

261261
public virtual IXamlType BoxedType => throw new NotImplementedException();
262262

263-
public virtual object ActivateInstance() {
263+
public virtual object ActivateInstance()
264+
{
264265
throw new NotImplementedException();
265266
}
266267

@@ -319,7 +320,8 @@ public override IXamlType BaseType
319320

320321
public override IXamlType BoxedType { get => _baseType; }
321322

322-
public override bool IsArray {
323+
public override bool IsArray
324+
{
323325
get { return _isArray; }
324326
}
325327

@@ -410,30 +412,27 @@ public override object CreateFromString(String input)
410412
Int32 enumFieldValue = 0;
411413
try
412414
{
415+
var trimmedValue = valuePart.Trim();
413416
object partValue;
414-
if (_enumValues.TryGetValue(valuePart.Trim(), out partValue))
417+
if (_enumValues.TryGetValue(trimmedValue, out partValue))
415418
{
416419
enumFieldValue = Convert.ToInt32(partValue);
417420
}
418421
else
419422
{
420423
try
421424
{
422-
enumFieldValue = Convert.ToInt32(valuePart.Trim());
425+
enumFieldValue = Convert.ToInt32(trimmedValue);
423426
}
424427
catch (FormatException)
425428
{
426-
foreach (var key in _enumValues.Keys)
427-
{
428-
if (String.Compare(valuePart.Trim(), key, StringComparison.OrdinalIgnoreCase) == 0 &&
429-
_enumValues.TryGetValue(key.Trim(), out partValue))
430-
{
431-
enumFieldValue = Convert.ToInt32(partValue);
432-
break;
433-
}
434-
}
429+
var key = _enumValues.FirstOrDefault(kvp => String.Equals(trimmedValue, kvp.Key, StringComparison.OrdinalIgnoreCase));
430+
431+
enumFieldValue = Convert.ToInt32(key.Value ?? 0);
435432
}
436433
}
434+
435+
437436
value |= enumFieldValue;
438437
}
439438
catch (FormatException)

0 commit comments

Comments
 (0)