diff --git a/anbs_cp/Classes/TypeConverter.cs b/anbs_cp/Classes/TypeConverter.cs
index 1760edb..63ef01d 100644
--- a/anbs_cp/Classes/TypeConverter.cs
+++ b/anbs_cp/Classes/TypeConverter.cs
@@ -1,115 +1,165 @@
-namespace anbs_cp.Classes;
+using System.Globalization;
+
+using Newtonsoft.Json;
+
+namespace anbs_cp.Classes;
///
-/// Конвертер типов на манер Delphi
+/// Конвертер типов на манер Delphi
///
public static class TypeConverter
{
#region Конвертация числа в строку
///
- /// Преобразование int в string
+ /// Преобразование в
///
- /// Число
- /// Строка
- public static string IntToStr (int aInt) => aInt.ToString();
+ /// Число
+ /// Значение в
+ public static string IntToStr (int value) => value.ToString();
///
- /// Преобразование uint в string
+ /// Преобразование в
///
- /// Число
- /// Строка
- public static string IntToStr (uint aInt) => aInt.ToString();
+ /// Число
+ /// Значение в
+ public static string IntToStr (uint value) => value.ToString();
///
- /// Преобразование long в string
+ /// Преобразование в
///
- /// Число
- /// Строка
- public static string IntToStr (long aInt) => aInt.ToString();
+ /// Число
+ /// Значение в
+ public static string IntToStr (long value) => value.ToString();
///
- /// Преобразование ulong в string
+ /// Преобразование в
///
- /// Число
- /// Строка
- public static string IntToStr (ulong aInt) => aInt.ToString();
+ /// Число
+ /// Значение в
+ public static string IntToStr (ulong value) => value.ToString();
///
- /// Преобразование byte в string
+ /// Преобразование в
///
- /// Число
- /// Строка
- public static string IntToStr (byte aInt) => aInt.ToString();
+ /// Число
+ /// Значение в
+ public static string IntToStr (byte value) => value.ToString();
+
+ ///
+ /// Преобразование в
+ ///
+ /// Число
+ /// Значение в
+ public static string DecimalToStr (decimal value) => value.ToString(CultureInfo.InvariantCulture);
+
+ ///
+ /// Преобразование в
+ ///
+ /// Число
+ /// Значение в
+ public static string DoubleToStr (double value) => value.ToString(CultureInfo.InvariantCulture);
+
+ ///
+ /// Преобразование в
+ ///
+ /// Значение правда/ложь
+ /// Значение в
+ public static string BoolToStr (bool value) => value.ToString();
+
+ ///
+ /// Преобразование в
+ ///
+ /// Тип
+ /// Значение типа
+ /// Значение в
+ public static string TypeToStr (T value) => JsonConvert.SerializeObject(value);
#endregion
#region Конвертация строки в число
///
- /// Преобразование строки в число
+ /// Преобразование в
///
- /// Строка
- /// Значение по умолчанию (по умолчанию, 0)
- /// Число
- public static int StrToInt (string aStr, int aDefault = 0)
- {
- if (!int.TryParse(aStr, out int result))
- result = aDefault;
- return result;
- }
+ /// Строка
+ /// Значение по умолчанию
+ /// Значение в
+ public static int StrToInt (string value, int defaultValue = 0) =>
+ int.TryParse(value, out int result) ? result : defaultValue;
///
- /// Преобразование строки в число
+ /// Преобразование в
///
- /// Строка
- /// Значение по умолчанию (по умолчанию, 0)
- /// Число
- public static uint StrToUInt (string aStr, uint aDefault = 0)
- {
- if (!uint.TryParse(aStr, out uint result))
- result = aDefault;
- return result;
- }
+ /// Строка
+ /// Значение по умолчанию
+ /// Значение в
+ public static uint StrToUInt (string value, uint defaultValue = 0) =>
+ uint.TryParse(value, out uint result) ? result : defaultValue;
///
- /// Преобразование строки в число
+ /// Преобразование в
///
- /// Строка
- /// Значение по умолчанию (по умолчанию, 0)
- /// Число
- public static long StrToInt64 (string aStr, long aDefault = 0)
- {
- if (!long.TryParse(aStr, out long result))
- result = aDefault;
- return result;
- }
+ /// Строка
+ /// Значение по умолчанию
+ /// Значение в
+ public static long StrToInt64 (string value, long defaultValue = 0) =>
+ long.TryParse(value, out long result) ? result : defaultValue;
///
- /// Преобразование строки в число
+ /// Преобразование в
///
- /// Строка
- /// Значение по умолчанию (по умолчанию, 0)
- /// Число
- public static ulong StrToUInt64 (string aStr, ulong aDefault = 0)
- {
- if (!ulong.TryParse(aStr, out ulong result))
- result = aDefault;
- return result;
- }
+ /// Строка
+ /// Значение по умолчанию
+ /// Значение в
+ public static ulong StrToUInt64 (string value, ulong defaultValue = 0) =>
+ ulong.TryParse(value, out ulong result) ? result : defaultValue;
///
- /// Преобразование строки в число
+ /// Преобразование в
///
- /// Строка
- /// Значение по умолчанию (по умолчанию, 0)
- /// Число
- public static byte StrToByte (string aStr, byte aDefault = 0)
- {
- if (!byte.TryParse(aStr, out byte result))
- result = aDefault;
- return result;
- }
+ /// Строка
+ /// Значение по умолчанию
+ /// Значение в
+ public static byte StrToByte (string value, byte defaultValue = byte.MinValue) =>
+ byte.TryParse(value, out byte result) ? result : defaultValue;
+
+ ///
+ /// Преобразование в
+ ///
+ /// Строка
+ /// Значение по умолчанию ()
+ /// Значение в
+ public static decimal StrToDecimal (string value, decimal defaultValue = decimal.Zero) =>
+ decimal.TryParse(value, out decimal result) ? result : defaultValue;
+
+ ///
+ /// Преобразование в
+ ///
+ /// Строка
+ /// Значение по умолчанию
+ /// Значение в
+ public static double StrToDouble (string value, double defaultValue = 0) =>
+ double.TryParse(value, out double result) ? result : defaultValue;
+
+ ///
+ /// Преобразование в
+ ///
+ /// Строка
+ /// Значение по умолчанию
+ /// Значение в
+ public static bool StrToBool (string value, bool defaultValue = false) =>
+ bool.TryParse(value, out bool result) ? result : defaultValue;
+
+ ///
+ /// Преобразование в тип
+ ///
+ /// Тип
+ /// Строка
+ /// Значение по умолчанию
+ /// Значение в
+ public static T StrToType(string value, T defaultValue) =>
+ JsonConvert.DeserializeObject(value) ?? defaultValue;
#endregion
}
\ No newline at end of file
diff --git a/anbs_cp/anbs_cp.csproj b/anbs_cp/anbs_cp.csproj
index 9037109..b1d3421 100644
--- a/anbs_cp/anbs_cp.csproj
+++ b/anbs_cp/anbs_cp.csproj
@@ -2,7 +2,7 @@
net7.0
- 2023.0602
+ 2023.811.0
Александр Бабаев
Набор компонентов ANB Software
Библиотека полезных методов языка C#
@@ -38,9 +38,13 @@
-
+
-
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+