C#14 field backed properties

This commit is contained in:
ClemensFischer 2025-12-27 21:24:01 +01:00
parent 5d390071c6
commit be427c195a
20 changed files with 89 additions and 106 deletions

View file

@ -17,20 +17,26 @@ namespace MapControl
{
public static partial class ImageLoader
{
private static ILogger logger;
private static ILogger Logger => logger ??= LoggerFactory?.CreateLogger(typeof(ImageLoader));
private static ILogger Logger => field ??= LoggerFactory?.CreateLogger(typeof(ImageLoader));
public static ILoggerFactory LoggerFactory { get; set; }
/// <summary>
/// The System.Net.Http.HttpClient instance used to download images.
/// </summary>
public static HttpClient HttpClient { get; set; }
static ImageLoader()
public static HttpClient HttpClient
{
HttpClient = new HttpClient { Timeout = TimeSpan.FromSeconds(10) };
HttpClient.DefaultRequestHeaders.Add("User-Agent", $"XAML-Map-Control/{typeof(ImageLoader).Assembly.GetName().Version}");
get
{
if (field == null)
{
field = new HttpClient { Timeout = TimeSpan.FromSeconds(10) };
field.DefaultRequestHeaders.Add("User-Agent", $"XAML-Map-Control/{typeof(ImageLoader).Assembly.GetName().Version}");
}
return field;
}
set;
}
public static bool IsHttp(this Uri uri)