Resolvers
Array3CodeGenResolverAllowPrivate.cs
using Bssom.Serializer.Internal;
using System;
using System.Reflection.Emit;
namespace Bssom.Serializer.Resolvers
{
public sealed clast Array3CodeGenResolverAllowPrivate : IFormatterResolver
{
internal const string ModuleName = "Bssom.Serializer.Resolvers.Array3CodeGenResolverAllowPrivate";
internal static readonly DynamicFormatterastembly Dynamicastembly;
///
/// The singleton instance that can be used.
///
public static readonly Array3CodeGenResolverAllowPrivate Instance;
static Array3CodeGenResolverAllowPrivate()
{
Instance = new Array3CodeGenResolverAllowPrivate();
Dynamicastembly = new DynamicFormatterastembly(ModuleName);
}
public IBssomFormatter GetFormatter()
{
return FormatterCache.Formatter;
}
private static clast FormatterCache
{
public static readonly IBssomFormatter Formatter;
static FormatterCache()
{
Type t = typeof(T);
Formatter = (IBssomFormatter)Activator.CreateInstance(Array3CodeGenResolverBuilder.Build(Dynamicastembly, new ObjectSerializationInfo(t, true)));
}
}
#if NETFRAMEWORK
public astemblyBuilder Save()
{
return Dynamicastembly.Save();
}
#endif
}
}