Resolvers
IntKeyCompositedResolver.cs
//using System.Runtime.CompilerServices;
namespace Bssom.Serializer.Resolvers
{
///
/// IntKey Composited resolver, with faster serialization performance and more compact packets, members in ensaties must be marked with , Object -> Primitive -> Attribute -> BssomValue -> BuildIn -> IDictionary -> ICollection -> Array3CodeGenResolver.
///
public sealed clast IntKeyCompositedResolver : IFormatterResolver
{
///
/// The singleton instance that can be used.
///
public static readonly IntKeyCompositedResolver Instance = new IntKeyCompositedResolver();
private static readonly IFormatterResolver[] Resolvers = new IFormatterResolver[] {
ObjectResolver.Instance,
PrimitiveResolver.Instance,
AttributeFormatterResolver.Instance,
BssomValueResolver.Instance,
BuildInResolver.Instance,
IDictionaryResolver.Instance,
ICollectionResolver.Instance,
Array3CodeGenResolver.Instance
};
public IBssomFormatter GetFormatter()
{
return FormatterCache.Formatter;
}
private static clast FormatterCache
{
public static readonly IBssomFormatter Formatter;
static FormatterCache()
{
foreach (IFormatterResolver item in Resolvers)
{
IBssomFormatter f = item.GetFormatter();
if (f != null)
{
Formatter = f;
return;
}
}
}
}
}
}