Документирование и небольшой рефакторинг модели.

This commit is contained in:
2025-05-11 00:31:15 +04:00
parent 1a977ee988
commit 3c65274b45
64 changed files with 1960 additions and 554 deletions
+17 -2
View File
@@ -3,8 +3,16 @@ using System.Reflection;
namespace Pf2eModel.Model.Common.I18n;
/// <summary>
/// Расширения для работы с локализацией.
/// </summary>
public static class LocaleExtension
{
/// <summary>
/// Получение строкового представления типа локализации.
/// </summary>
/// <param name="localeType">Тип локализации.</param>
/// <returns>Строковое представление типа локализации.</returns>
public static string GetTypeString(this LocaleType localeType)
{
FieldInfo fi = localeType.GetType().GetField(localeType.ToString())!;
@@ -16,7 +24,13 @@ public static class LocaleExtension
?? localeType.ToString();
}
public static LocaleType GetTypeByString(this string localeType)
/// <summary>
/// Получение типа локализации по строковому представлению типа локализации.
/// </summary>
/// <param name="localeTypeString">Строковое представление типа локализации.</param>
/// <returns>Тип локализации.</returns>
/// <exception cref="InvalidEnumArgumentException">Исключение, если строковое представление не соответсвует ни одному типу локализации.</exception>
public static LocaleType GetTypeByString(this string localeTypeString)
{
foreach (FieldInfo field in typeof(LocaleType).GetFields())
{
@@ -28,7 +42,7 @@ public static class LocaleExtension
continue;
}
if (descriptionAttribute.Description == localeType)
if (descriptionAttribute.Description == localeTypeString)
{
return (LocaleType)field.GetValue(null)!;
}
@@ -36,6 +50,7 @@ public static class LocaleExtension
throw new InvalidEnumArgumentException();
}
/*
public static IQueryable<T> WhereLocale(
this IQueryable<T> query, Expression<Func<T, LocaleString>> expression, string searchTerm) where T : class