添加项目文件。
This commit is contained in:
26
TightWiki.Caching/WikiCacheKeyFunction.cs
Normal file
26
TightWiki.Caching/WikiCacheKeyFunction.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using System.Runtime.CompilerServices;
|
||||
using static TightWiki.Caching.WikiCache;
|
||||
|
||||
namespace TightWiki.Caching
|
||||
{
|
||||
/// <summary>
|
||||
/// Contains a verbatim cache key which also includes the calling function name.
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
public class WikiCacheKeyFunction(string key) : IWikiCacheKey
|
||||
{
|
||||
public string Key { get; set; } = key;
|
||||
|
||||
/// <summary>
|
||||
/// Builds a cache key which includes the calling function name.
|
||||
/// </summary>
|
||||
public static WikiCacheKeyFunction Build(Category category, object?[] segments, [CallerMemberName] string callingFunction = "")
|
||||
=> new($"[{category}]:[{string.Join("]:[", segments)}]:[{callingFunction}]");
|
||||
|
||||
/// <summary>
|
||||
/// Builds a cache key which includes the calling function name.
|
||||
/// </summary>
|
||||
public static WikiCacheKeyFunction Build(Category category, [CallerMemberName] string callingFunction = "")
|
||||
=> new($"[{category}]:[{callingFunction}]");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user