diff --git a/anbs_cp/Classes/ActionError.cs b/anbs_cp/Classes/ActionError.cs
deleted file mode 100644
index fd6906e..0000000
--- a/anbs_cp/Classes/ActionError.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-using anbs_cp.Interfaces;
-
-namespace anbs_cp.Classes;
-
-///
-/// Класс ошибки
-///
-public sealed class ActionError: IActionError
-{
- ///
- /// Критичность ошибки:
- /// при некритичных ошибках продолжение выполнения операции возможно,
- /// а при критичных -- нет
- ///
- public bool IsCritical { get; init; }
-
- ///
- /// Объект ошибки
- ///
- public object Object { get; set; }
-
- ///
- /// Сообщение об ошибке
- ///
- public string Message { get; set; }
-
- #region Конструкторы
- ///
- /// Конструктор по умолчанию
- ///
- public ActionError ()
- {
- IsCritical = true;
- Object = "Not Implemented";
- Message = "Not Implemented";
- }
-
- ///
- /// Конструктор с 2 параметрами
- ///
- /// Сообщение
- /// Критичность ошибки
- public ActionError (string message, bool isCritical = true)
- {
- IsCritical = isCritical;
- Object = "";
- Message = message;
- }
-
- ///
- /// Конструктор с 3 параметрами
- ///
- /// Объект ошибки
- /// Сообщение
- /// Критичность ошибки
- public ActionError (object eObject, string message, bool isCritical = true)
- {
- IsCritical = isCritical;
- Object = eObject;
- Message = message;
- }
- #endregion
-}
\ No newline at end of file
diff --git a/anbs_cp/Classes/ActionInfo.cs b/anbs_cp/Classes/ActionInfo.cs
deleted file mode 100644
index e2acadf..0000000
--- a/anbs_cp/Classes/ActionInfo.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-using anbs_cp.Interfaces;
-
-namespace anbs_cp.Classes;
-
-///
-/// Класс предупреждения
-///
-public sealed class ActionInfo: IActionInfo
-{
- #region Конструкторы
- ///
- /// Конструктор по умолчанию
- ///
- public ActionInfo ()
- {
- IsStatusInfo = false;
- Object = string.Empty;
- Message = string.Empty;
- }
-
- ///
- /// Конструктор
- ///
- /// Объект
- /// Сообщение
- /// Является статусной информацией?
- public ActionInfo (string eObject, string message, bool isStatus = false)
- {
- IsStatusInfo = isStatus;
- Object = eObject;
- Message = message;
- }
- #endregion
-
- #region Реализация интерфейса
- ///
- /// Объект
- ///
- public object Object { get; set; }
- ///
- /// Сообщение
- ///
- public string Message { get; set; }
- ///
- /// Статусная информация (например, начало работы)
- ///
- public bool IsStatusInfo { get; init; }
- #endregion
-}
\ No newline at end of file
diff --git a/anbs_cp/Classes/ActionState.cs b/anbs_cp/Classes/ActionState.cs
index 6cae088..c3e93c6 100644
--- a/anbs_cp/Classes/ActionState.cs
+++ b/anbs_cp/Classes/ActionState.cs
@@ -1,10 +1,16 @@
-using anbs_cp.Interfaces;
+// ReSharper disable MemberCanBePrivate.Global
+// ReSharper disable UnusedAutoPropertyAccessor.Global
+using anbs_cp.Enums;
+using anbs_cp.Interfaces;
namespace anbs_cp.Classes;
/*
История версий
+ Обновлено 2024.03.26
+ * Все интерфейсы объеденены в один IActionStateMessage
+
Обновлено 2023.12.10
* Заменены классы Action* на соответствующие интерфейсы
* Класс ActionState теперь наследует интерфейс IActionState, позволяющий добавлять состояния (ошибки, предупреждения и информацию)
@@ -50,17 +56,17 @@ public class ActionState: IActionState
///
/// Список информации
///
- public List Info { get; }
+ public List Info { get; }
///
/// Список предупреждений
///
- public List Warnings { get; }
+ public List Warnings { get; }
///
/// Список ошибок
///
- public List Errors { get; }
+ public List Errors { get; }
///
/// Значение
@@ -115,13 +121,13 @@ public class ActionState: IActionState
/// Ошибка
// ReSharper disable once MemberCanBeMadeStatic.Global
// ReSharper disable once FunctionRecursiveOnAllPaths
- public void AddError (IActionError error) => Errors.Add(error);
+ public void AddError (IActionStateMessage error) => Errors.Add(error);
///
/// Добавляет ошибки в список
///
/// Список ошибок
- public void AddErrors (IEnumerable errors) => Errors.AddRange(errors);
+ public void AddErrors (IEnumerable errors) => Errors.AddRange(errors);
///
/// Добавление ошибки
@@ -130,7 +136,7 @@ public class ActionState: IActionState
public void AddError (bool critical = true)
{
//Создаю ошибку
- ActionError error = new("", critical);
+ ActionStateMessage error = new("", critical);
//Добавляю ошибку
AddError(error);
@@ -144,7 +150,7 @@ public class ActionState: IActionState
public void AddError (string message, bool critical = true)
{
//Создаю ошибку
- ActionError error = new(message, critical);
+ ActionStateMessage error = new(message, critical);
//Добавляю ошибку
AddError(error);
@@ -159,7 +165,7 @@ public class ActionState: IActionState
public void AddError (string errorObject, string message, bool critical = true)
{
//Создаю ошибку
- ActionError error = new(errorObject, message, critical);
+ ActionStateMessage error = new(errorObject, message, critical);
//Добавляю ошибку
AddError(error);
@@ -171,13 +177,13 @@ public class ActionState: IActionState
/// Добавление предупреждения
///
/// Предупреждение
- public void AddWarning (IActionWarning warning) => Warnings.Add(warning);
+ public void AddWarning (IActionStateMessage warning) => Warnings.Add(warning);
///
/// Добавление предупреждений
///
/// Список предупреждений
- public void AddWarnings (IEnumerable warnings) => Warnings.AddRange(warnings);
+ public void AddWarnings (IEnumerable warnings) => Warnings.AddRange(warnings);
///
/// Добавление предупреждение
@@ -187,7 +193,7 @@ public class ActionState: IActionState
public void AddWarning (string message, string warningObject = "")
{
//Создаю предупреждение
- ActionWarning warning = new(warningObject, message);
+ ActionStateMessage warning = new(warningObject, message);
//Добавляю предупреждение
AddWarning(warning);
@@ -199,13 +205,13 @@ public class ActionState: IActionState
/// Добавление информации
///
/// Информация
- public void AddInfo (IActionInfo info) => Info.Add(info);
+ public void AddInfo (IActionStateMessage info) => Info.Add(info);
///
/// Добавление информации
///
/// Список информации
- public void AddInfos (IEnumerable infos) => Info.AddRange(infos);
+ public void AddInfos (IEnumerable infos) => Info.AddRange(infos);
///
/// Добавление информации
@@ -215,7 +221,7 @@ public class ActionState: IActionState
public void AddInfo (string message, string infoObject = "")
{
//Создаю информацию
- ActionInfo info = new(infoObject, message);
+ ActionStateMessage info = new(infoObject, message);
//Добавляю информацию
AddInfo(info);
@@ -224,50 +230,46 @@ public class ActionState: IActionState
#region Печать
///
- /// Печать списка ошибок
+ /// Печать сообщений
///
- /// Формат списка
- /// Формат элемента списка
- /// Список ошибок в текстовой форме
- public string PrintErrorList (string formatList, string formatItem)
+ /// Область печати
+ /// Оформление всей области
+ /// Оформление элемента
+ /// Текстовое представление выбранных списокв
+ /// Ошибка при неизвестной области
+ public string PrintMessage (EActionStatePrintArea area, string formatList, string formatItem)
{
+ // Создаю список
+ List list = [];
+
+ // Выбираю списки по областям
+ switch (area)
+ {
+ case EActionStatePrintArea.All:
+ list.AddRange(Errors);
+ list.AddRange(Warnings);
+ list.AddRange(Info);
+ break;
+ case EActionStatePrintArea.ErrorsAndWarnings:
+ list.AddRange(Errors);
+ list.AddRange(Warnings);
+ break;
+ case EActionStatePrintArea.ErrorsOnly:
+ list.AddRange(Errors);
+ break;
+ case EActionStatePrintArea.WarningsOnly:
+ list.AddRange(Warnings);
+ break;
+ case EActionStatePrintArea.InfosOnly:
+ list.AddRange(Info);
+ break;
+ default:
+ throw new ArgumentOutOfRangeException(nameof(area), area, null);
+ }
+
+ // Создаю элементы
string elements =
-#pragma warning disable CS8625
- Errors.Aggregate(null, (current, error) => current + error.PrintMessage(formatItem));
-#pragma warning restore CS8625
-
- return string.Format(formatList, elements);
- }
-
- ///
- /// Печать списка предупреждений
- ///
- /// Формат списка
- /// Формат элемента списка
- /// Список предупреждений в текстовой форме
- public string PrintWarningList (string formatList, string formatItem)
- {
- string elements =
-#pragma warning disable CS8625
- Warnings.Aggregate(null,
-#pragma warning restore CS8625
- (current, warning) => current + warning.PrintMessage(formatItem));
-
- return string.Format(formatList, elements);
- }
-
- ///
- /// Печать списка информации
- ///
- /// Формат списка
- /// Формат элемента списка
- /// Список информации в текстовой форме
- public string PrintInfoList (string formatList, string formatItem)
- {
- string elements =
-#pragma warning disable CS8625
- Info.Aggregate(null, (current, info) => current + info.PrintMessage(formatItem));
-#pragma warning restore CS8625
+ list.Aggregate(string.Empty, (current, item) => current + item.PrintMessage(formatItem));
return string.Format(formatList, elements);
}
@@ -288,7 +290,7 @@ public class ActionState: IActionState
/// Игнорировать информационные предупреждения
/// Наличие предупреждений
public bool HasWarnings (bool ignoreInformWarning = false) => ignoreInformWarning
- ? Warnings.Any(static warning => !warning.IsInformWarning)
+ ? Warnings.Any(static warning => warning.IsCritical)
: Warnings.Any();
///
@@ -296,7 +298,7 @@ public class ActionState: IActionState
///
/// Игнорировать статусные сообщения
/// Наличие сообщений
- public bool HasInfo (bool ignoreStatus) => ignoreStatus ? Info.Any(static info => !info.IsStatusInfo) : Info.Any();
+ public bool HasInfo (bool ignoreStatus) => ignoreStatus ? Info.Any(static info => info.IsCritical) : Info.Any();
///
/// Успешно ли завершилось
@@ -320,7 +322,7 @@ public class ActionState: IActionState
/// Игнорировать информационные предупреждения
/// Количество предупреждений
public int WarningsCount (bool ignoreInformWarning = false) => ignoreInformWarning
- ? Warnings.Count(static warning => !warning.IsInformWarning)
+ ? Warnings.Count(static warning => warning.IsCritical)
: Warnings.Count;
///
@@ -328,7 +330,9 @@ public class ActionState: IActionState
///
/// Игнорировать статусные сообщения
/// Количество информационных сообщений
- public int InfoCount (bool ignoreStatus) => ignoreStatus ? Info.Count(static info => !info.IsStatusInfo) : Info.Count;
+ public int InfoCount (bool ignoreStatus) => ignoreStatus
+ ? Info.Count(static info => info.IsCritical)
+ : Info.Count;
#endregion
#region Добавление другого состояния
diff --git a/anbs_cp/Classes/ActionStateMessage.cs b/anbs_cp/Classes/ActionStateMessage.cs
new file mode 100644
index 0000000..220aefd
--- /dev/null
+++ b/anbs_cp/Classes/ActionStateMessage.cs
@@ -0,0 +1,71 @@
+using anbs_cp.Interfaces;
+
+namespace anbs_cp.Classes;
+
+///
+public sealed class ActionStateMessage: IActionStateMessage
+{
+ ///
+ public bool IsCritical { get; set; }
+
+ ///
+ public object Object { get; set; }
+
+ ///
+ public string Message { get; set; }
+
+ #region Конструкторы
+ ///
+ /// Конструктор по умолчанию
+ ///
+ // ReSharper disable once MemberCanBePrivate.Global
+ public ActionStateMessage ()
+ {
+ IsCritical = true;
+ Object = "Not Implemented";
+ Message = "Not Implemented";
+ }
+
+ ///
+ /// Конструктор с 2 параметрами
+ ///
+ /// Сообщение
+ /// Критичность сообщения
+ public ActionStateMessage (string message, bool isCritical = true)
+ {
+ IsCritical = isCritical;
+ Object = "";
+ Message = message;
+ }
+
+ ///
+ /// Конструктор с 3 параметрами
+ ///
+ /// Объект сообщения
+ /// Сообщение
+ /// Критичность сообщения
+ public ActionStateMessage (object eObject, string message, bool isCritical = true)
+ {
+ IsCritical = isCritical;
+ Object = eObject;
+ Message = message;
+ }
+ #endregion
+
+ #region Реализация интерфейса ISerializable
+ ///
+ public string Serialize () => new SysTextSerializer().Serialize(this);
+
+ ///
+ public void Deserialize (string json)
+ {
+ // Десериализую строку
+ ActionStateMessage item = new SysTextSerializer().Deserialize(json) ?? new();
+
+ // Передаю параметры
+ IsCritical = item.IsCritical;
+ Object = item.Object;
+ Message = item.Message;
+ }
+ #endregion
+}
\ No newline at end of file
diff --git a/anbs_cp/Classes/ActionWarning.cs b/anbs_cp/Classes/ActionWarning.cs
deleted file mode 100644
index e25a6c7..0000000
--- a/anbs_cp/Classes/ActionWarning.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-using anbs_cp.Interfaces;
-
-namespace anbs_cp.Classes;
-
-///
-/// Класс предупреждения
-///
-public sealed class ActionWarning: IActionWarning
-{
- #region Конструкторы
- ///
- /// Конструктор по умолчанию
- ///
- public ActionWarning ()
- {
- IsInformWarning = false;
- Object = string.Empty;
- Message = string.Empty;
- }
-
- ///
- /// Конструктор
- ///
- /// Объект
- /// Сообщение
- /// Является ли информирующим предупреждением
- public ActionWarning (string eObject, string message, bool isInform = false)
- {
- IsInformWarning = isInform;
- Object = eObject;
- Message = message;
- }
- #endregion
-
- #region Реализация интерфейса
- ///
- /// Объект
- ///
- public object Object { get; set; }
- ///
- /// Сообщение
- ///
- public string Message { get; set; }
- ///
- /// Информирующее предупреждение возникает для предупреждения ВОЗМОЖНОЙ ошибки в дальнейшей эксплуатации и не влияет на текущую операцию.
- ///
- public bool IsInformWarning { get; init; }
- #endregion
-}
\ No newline at end of file
diff --git a/anbs_cp/Classes/ConsoleParamsParser.cs b/anbs_cp/Classes/ConsoleParamsParser.cs
index 42afa20..28c7688 100644
--- a/anbs_cp/Classes/ConsoleParamsParser.cs
+++ b/anbs_cp/Classes/ConsoleParamsParser.cs
@@ -19,7 +19,7 @@ public sealed class ConsoleParamsParser (IEnumerable consoleParams)
private static KeyValueList ParseConsoleParams (IEnumerable paramsList)
{
//Создаю список параметров
- KeyValueList result = new();
+ KeyValueList result = [];
//Заполняю его
foreach (string consoleParam in paramsList)
@@ -61,6 +61,6 @@ public sealed class ConsoleParamsParser (IEnumerable consoleParams)
/// Получает список всех параметров
///
/// Список всех параметров
- public List GetParamsList () =>
- _paramsList.Select(static keyValue => keyValue.Key?.ToLower()).ToList();
+ public List GetParamsList () =>
+ _paramsList.Select(static keyValue => keyValue.Key.ToLower()).ToList();
}
\ No newline at end of file
diff --git a/anbs_cp/Classes/FileExtensions.cs b/anbs_cp/Classes/FileExtensions.cs
index 2ac496c..9ee3bb8 100644
--- a/anbs_cp/Classes/FileExtensions.cs
+++ b/anbs_cp/Classes/FileExtensions.cs
@@ -10,7 +10,7 @@ public static class FileExtension
///
/// Имя файла
/// MIME-тип файла
- public static string MIMEType (string filename) =>
+ public static string MimeType (string filename) =>
MimeTypes.GetMimeType(filename);
///
diff --git a/anbs_cp/Enums/EActionStatePrintArea.cs b/anbs_cp/Enums/EActionStatePrintArea.cs
new file mode 100644
index 0000000..e08e5f3
--- /dev/null
+++ b/anbs_cp/Enums/EActionStatePrintArea.cs
@@ -0,0 +1,32 @@
+namespace anbs_cp.Enums;
+
+///
+/// Область печати состояния действия
+///
+public enum EActionStatePrintArea
+{
+ ///
+ /// Все (сообщения, предупреждения, ошибки)
+ ///
+ All = 0,
+
+ ///
+ /// Только предупреждения и ошибки
+ ///
+ ErrorsAndWarnings = 1,
+
+ ///
+ /// Только ошибки
+ ///
+ ErrorsOnly = 2,
+
+ ///
+ /// Только предупреждения
+ ///
+ WarningsOnly = 3,
+
+ ///
+ /// Только информационные сообщения
+ ///
+ InfosOnly = 4
+}
\ No newline at end of file
diff --git a/anbs_cp/Interfaces/IActionError.cs b/anbs_cp/Interfaces/IActionError.cs
deleted file mode 100644
index 38cf7bb..0000000
--- a/anbs_cp/Interfaces/IActionError.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-namespace anbs_cp.Interfaces;
-
-///
-/// Интерфейс ошибки
-///
-public interface IActionError : IActionStateMessage
-{
- ///
- /// Критичность ошибки:
- /// при некритичных ошибках продолжение выполнения операции возможно,
- /// а при критичных -- нет
- ///
- public bool IsCritical { get; init; }
-}
\ No newline at end of file
diff --git a/anbs_cp/Interfaces/IActionInfo.cs b/anbs_cp/Interfaces/IActionInfo.cs
deleted file mode 100644
index c48f47c..0000000
--- a/anbs_cp/Interfaces/IActionInfo.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-namespace anbs_cp.Interfaces;
-
-///
-/// Интерфейс для информации по статусу
-///
-public interface IActionInfo : IActionStateMessage
-{
- ///
- /// Статусная информация (например, начало работы)
- ///
- public bool IsStatusInfo { get; init; }
-}
\ No newline at end of file
diff --git a/anbs_cp/Interfaces/IActionState.cs b/anbs_cp/Interfaces/IActionState.cs
index 138d60e..cdbbc0a 100644
--- a/anbs_cp/Interfaces/IActionState.cs
+++ b/anbs_cp/Interfaces/IActionState.cs
@@ -10,22 +10,21 @@ public interface IActionState
///
/// Список информации
///
- List Info { get; }
+ List Info { get; }
///
/// Список предупреждений
///
- List Warnings { get; }
+ List Warnings { get; }
///
/// Список ошибок
///
- List Errors { get; }
+ List Errors { get; }
///
/// Добавляет другое состояние (например, результат другого действия, который возвращает ).
///
- /// Тип параметра
/// Запись состояния
void AddState (IActionState state);
}
\ No newline at end of file
diff --git a/anbs_cp/Interfaces/IActionStateMessage.cs b/anbs_cp/Interfaces/IActionStateMessage.cs
index e6af12b..65e00e4 100644
--- a/anbs_cp/Interfaces/IActionStateMessage.cs
+++ b/anbs_cp/Interfaces/IActionStateMessage.cs
@@ -3,8 +3,13 @@
///
/// Интерфейс сообщения состояния
///
-public interface IActionStateMessage
+public interface IActionStateMessage: ISerializable
{
+ ///
+ /// Критичность сообщения
+ ///
+ public bool IsCritical { get; set; }
+
///
/// Объект сообщения
///
diff --git a/anbs_cp/Interfaces/IActionWarning.cs b/anbs_cp/Interfaces/IActionWarning.cs
deleted file mode 100644
index 23ec4cc..0000000
--- a/anbs_cp/Interfaces/IActionWarning.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-namespace anbs_cp.Interfaces;
-
-///
-/// Интерфейс предупреждения
-///
-public interface IActionWarning : IActionStateMessage
-{
- ///
- /// Информирующее предупреждение возникает для предупреждения ВОЗМОЖНОЙ ошибки в дальнейшей эксплуатации и не влияет на текущую операцию.
- ///
- public bool IsInformWarning { get; init; }
-}
\ No newline at end of file
diff --git a/anbs_cp/Interfaces/IValueFormatter.cs b/anbs_cp/Interfaces/IValueFormatter.cs
index 2ae523d..fb31d26 100644
--- a/anbs_cp/Interfaces/IValueFormatter.cs
+++ b/anbs_cp/Interfaces/IValueFormatter.cs
@@ -65,6 +65,7 @@ public interface IValueFormatter
for (int i = 0; i <= DecimalPlaces; i++) delim *= 10;
+ // ReSharper disable once PossibleLossOfFraction
decimal value = Math.Round((decimal)(dividend * delim / divider)) / delim;
return $"{value}";
diff --git a/anbs_cp/anbs_cp.csproj b/anbs_cp/anbs_cp.csproj
index a72762c..f007746 100644
--- a/anbs_cp/anbs_cp.csproj
+++ b/anbs_cp/anbs_cp.csproj
@@ -2,7 +2,7 @@
net8.0
- 2024.3.01.1
+ 2024.3.26
Александр Бабаев
Набор компонентов ANB Software
Библиотека полезных методов языка C#
@@ -45,8 +45,4 @@
-
-
-
-
diff --git a/anbs_cpdb/Interfaces/IDbEngine.cs b/anbs_cpdb/Interfaces/IDbEngine.cs
index b4f5943..60814c8 100644
--- a/anbs_cpdb/Interfaces/IDbEngine.cs
+++ b/anbs_cpdb/Interfaces/IDbEngine.cs
@@ -1,6 +1,4 @@
-using System.Transactions;
-
-namespace anbs_cp.Database.Interfaces;
+namespace anbs_cp.Database.Interfaces;
///
/// Интерфейс для работы с базой данных
diff --git a/anbs_cpdb/anbs_cpdb.csproj b/anbs_cpdb/anbs_cpdb.csproj
index 58ca5bb..5784956 100644
--- a/anbs_cpdb/anbs_cpdb.csproj
+++ b/anbs_cpdb/anbs_cpdb.csproj
@@ -8,7 +8,7 @@
anbs_cp.Database
True
ANBSoftware.ComponentsPack.Database
- 2024.3.11.0
+ 2024.3.25
Александр Бабаев
Набор компонентов ANB Software для работы с БД
Библиотека полезных методов языка C# для работы с базами данных
diff --git a/anbs_cpfn/Classes/NetFileExtension.cs b/anbs_cpfn/Classes/NetFileExtension.cs
index bef0227..3ff473d 100644
--- a/anbs_cpfn/Classes/NetFileExtension.cs
+++ b/anbs_cpfn/Classes/NetFileExtension.cs
@@ -12,6 +12,6 @@ public class NetFileExtension
///
/// Загружаемый файл
/// MIME-тип файла
- public static string MIMEType (IFormFile file) =>
+ public static string MimeType (IFormFile file) =>
file.ContentType;
}
\ No newline at end of file
diff --git a/anbs_cpfn/anbs_cpfn.csproj b/anbs_cpfn/anbs_cpfn.csproj
index bc00046..c2ad934 100644
--- a/anbs_cpfn/anbs_cpfn.csproj
+++ b/anbs_cpfn/anbs_cpfn.csproj
@@ -6,7 +6,7 @@
enable
True
ANBSoftware.ComponentsPackForNet
- 2024.3.11.1
+ 2024.3.26
Александр Бабаев
Набор компонентов ANB Software для ASP.NET Core
Библиотека полезных методов языка C# для ASP.NET Core
diff --git a/anbsoftware.componentspack.sln.DotSettings b/anbsoftware.componentspack.sln.DotSettings
index 37099bd..3ae7316 100644
--- a/anbsoftware.componentspack.sln.DotSettings
+++ b/anbsoftware.componentspack.sln.DotSettings
@@ -2,6 +2,7 @@
CD
HD
HDD
+ IP
RA
RAM
True
@@ -11,6 +12,7 @@
True
True
True
+ True
True
True
True
diff --git a/demo/FileHashAndMimeTypeTest.cs b/demo/FileHashAndMimeTypeTest.cs
index 69f7cf4..6e28617 100644
--- a/demo/FileHashAndMimeTypeTest.cs
+++ b/demo/FileHashAndMimeTypeTest.cs
@@ -24,7 +24,7 @@ private void GetFileHashAndMimeType()
}
string fileHash = new FileHash(fileNameEdt.Text).ToString();
- string fileType = FileExtension.MIMEType(fileNameEdt.Text);
+ string fileType = FileExtension.MimeType(fileNameEdt.Text);
ResultLabel.Text =
$" \r\n{fileNameEdt.Text}\r\n :\r\n{fileHash}\r\n :\r\n{fileType}";