Skip to content

Commit b484b14

Browse files
author
Maksim Golev
committed
refactor(#71008): Apply some modern C# syntax to "UrlAttribute".
1 parent 199ae88 commit b484b14

File tree

1 file changed

+15
-7
lines changed
  • src/libraries/System.ComponentModel.Annotations/src/System/ComponentModel/DataAnnotations

1 file changed

+15
-7
lines changed

src/libraries/System.ComponentModel.Annotations/src/System/ComponentModel/DataAnnotations/UrlAttribute.cs

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,23 @@ public UrlAttribute()
1717

1818
public override bool IsValid(object? value)
1919
{
20-
if (value == null)
20+
switch (value)
2121
{
22-
return true;
22+
case string valueAsString:
23+
{
24+
return valueAsString.StartsWith("http://", StringComparison.OrdinalIgnoreCase)
25+
|| valueAsString.StartsWith("https://", StringComparison.OrdinalIgnoreCase)
26+
|| valueAsString.StartsWith("ftp://", StringComparison.OrdinalIgnoreCase);
27+
}
28+
case null:
29+
{
30+
return true;
31+
}
32+
default:
33+
{
34+
return false;
35+
}
2336
}
24-
25-
return value is string valueAsString &&
26-
(valueAsString.StartsWith("http://", StringComparison.OrdinalIgnoreCase)
27-
|| valueAsString.StartsWith("https://", StringComparison.OrdinalIgnoreCase)
28-
|| valueAsString.StartsWith("ftp://", StringComparison.OrdinalIgnoreCase));
2937
}
3038
}
3139
}

0 commit comments

Comments
 (0)