add culture based caching -> 0.0.4

This commit is contained in:
2023-05-20 11:30:33 +00:00
parent 37a7c50e4d
commit 2642f54334
19 changed files with 186 additions and 55 deletions

View File

@@ -45,13 +45,23 @@ namespace TestNameSpace
public static ResourceManager ResourceManager => _ResourceManager.Value;
private static CultureInfo GetDefaultCulture()
{
return CultureInfo.CurrentCulture;
}
private static IResourceString AddToCultureCache(IResourceString source)
{
return new CultureBasedCachedString(source, GetDefaultCulture);
}
#endregion // ResourceManager
#region Test1
private static readonly Lazy<IResourceString> LazyTest1 = new Lazy<IResourceString>(
() => new ResourceManagerString(""Test1"", ResourceManager, CultureInfo.CurrentCulture),
() => AddToCultureCache(new ResourceManagerString(""Test1"", ResourceManager, GetDefaultCulture)),
LazyThreadSafetyMode.PublicationOnly
);
@@ -62,17 +72,18 @@ namespace TestNameSpace
internal static class Test2
{
private static readonly Lazy<IResourceString> LazyFormat = new Lazy<IResourceString>(
() => new ResourceManagerString(""Test2"", ResourceManager, CultureInfo.CurrentCulture),
() => AddToCultureCache(new ResourceManagerString(""Test2"", ResourceManager, GetDefaultCulture)),
LazyThreadSafetyMode.PublicationOnly
);
public static IResourceString Format => LazyFormat.Value;
public static IResourceString From(IResourceString prefix, IResourceString p1) => new FormattedResourceString(
public static IResourceString From(IResourceString prefix, IResourceString p1) => AddToCultureCache(new FormattedResourceString(
Format,
GetDefaultCulture,
prefix,
p1
);
));
}