From ca47896204482bf4a6979e3838bf7f09f61cebeb Mon Sep 17 00:00:00 2001
From: giy <giy@omp-system.ru>
Date: Fri, 02 Sep 2022 14:16:56 +0300
Subject: [PATCH] Обновление до версии 2.9.0

---
 QtVsTools.Core/Common/EnumExt.cs |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/QtVsTools.Core/Common/EnumExt.cs b/QtVsTools.Core/Common/EnumExt.cs
index 0406e2c..c05f7bc 100644
--- a/QtVsTools.Core/Common/EnumExt.cs
+++ b/QtVsTools.Core/Common/EnumExt.cs
@@ -40,6 +40,8 @@
     /// </summary>
     public static class EnumExt
     {
+        static LazyFactory StaticLazy { get; } = new LazyFactory();
+
         /// <summary>
         /// Wrapper for enum cast values.
         /// </summary>
@@ -64,7 +66,7 @@
         [AttributeUsage(AttributeTargets.All)]
         public sealed class StringAttribute : Attribute, ICast<string>
         {
-            public string Value { get; private set; }
+            public string Value { get; }
             public StringAttribute(string str) { Value = str; }
         }
 
@@ -128,8 +130,7 @@
         /// </summary>
         public static TEnum Cast<T, TEnum>(this T valueT, TEnum defaultValue) where TEnum : struct
         {
-            TEnum value;
-            return TryCast(valueT, out value) ? value : defaultValue;
+            return TryCast(valueT, out TEnum value) ? value : defaultValue;
         }
 
         /// <summary>
@@ -201,15 +202,14 @@
                 .FirstOrDefault();
         }
 
-        static IEnumerable<Type> _CastAttribTypes;
         /// <summary>
         /// List of cast attribute types.
         /// </summary>
         /// <remarks>
         /// Future cast attribute types need to be added to this list.
         /// </remarks>
-        static IEnumerable<Type> CastAttribTypes => _CastAttribTypes
-            ?? (_CastAttribTypes = new[]
+        static IEnumerable<Type> CastAttribTypes => StaticLazy.Get(() =>
+            CastAttribTypes, () => new[]
             {
                 typeof(StringAttribute)
             });

--
Gitblit v1.9.1