public static void GetFormatters(IMessagePackProvider provider, IMessagePackContext context, IDictionary <Type, IMessagePackFormatter> formatters, int formatterType, Assembly assembly = null)
        {
            if (provider == null)
            {
                throw new ArgumentNullException(nameof(provider));
            }
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }
            if (formatters == null)
            {
                throw new ArgumentNullException(nameof(formatters));
            }

            foreach (Type type in AssemblyUtility.GetBrowsableTypes <MessagePackFormatterAttribute>(assembly))
            {
                var attribute = type.GetCustomAttribute <MessagePackFormatterAttribute>(false);

                if (attribute.Type == formatterType && TypesUtility.TryCreateType(type, new object[] { provider, context }, out IMessagePackFormatter formatter))
                {
                    formatters.Add(formatter.TargetType, formatter);
                }
            }
        }
        public static IMessagePackFormatter <T> Get <T>(this IMessagePackProvider provider)
        {
            if (!provider.TryGet(out IMessagePackFormatter <T> formatter))
            {
                throw new ArgumentException($"The formatter for the specified target type not found: '{typeof(T)}'.");
            }

            return(formatter);
        }
        public void Serialize()
        {
            IMessagePackProvider           provider  = MessagePackUtility.CreateProvider(MessagePackContext.Empty, -2);
            IMessagePackFormatter <Target> formatter = provider.Get <Target>();

            var target = new Target {
                TargetValue = new Target()
            };
            var writer = new MessagePackWriter();

            formatter.Serialize(ref writer, target);

            Assert.NotNull(writer.Buffer);
            Assert.Pass(writer.Print());
        }
 public MessagePackProviderWrapper(IMessagePackProvider provider, IMessagePackContext context, IFormatterResolver resolver)
 {
     Provider = provider ?? throw new ArgumentNullException(nameof(provider));
     Context  = context ?? throw new ArgumentNullException(nameof(context));
     Resolver = resolver ?? throw new ArgumentNullException(nameof(resolver));
 }
 public TestTargetFormatterNamed(IMessagePackProvider provider, IMessagePackContext context)
     : base(provider, context)
 {
 }
 public EnumProvider(IMessagePackProvider provider, IMessagePackContext context)
 {
     Provider = provider ?? throw new ArgumentNullException(nameof(provider));
     Context  = context ?? throw new ArgumentNullException(nameof(context));
 }
 public CollectionFormatterList(IMessagePackProvider provider, IMessagePackContext context) : base(provider, context)
 {
 }
Exemplo n.º 8
0
 public Formatter(IMessagePackProvider provider, IMessagePackContext context) : base(provider, context)
 {
 }
 public EnumFormatterByte(IMessagePackProvider provider, IMessagePackContext context) : base(provider, context)
 {
 }
Exemplo n.º 10
0
 protected MessagePackFormatterBase(IMessagePackProvider provider, IMessagePackContext context)
 {
     Provider = provider ?? throw new ArgumentNullException(nameof(provider));
     Context  = context ?? throw new ArgumentNullException(nameof(context));
 }
 public static void GetFormatters(IMessagePackProvider provider, IMessagePackContext context, IDictionary <Type, IMessagePackFormatter> formatters, MessagePackFormatterType formatterType = MessagePackFormatterType.Unknown, Assembly assembly = null)
 {
     GetFormatters(provider, context ?? MessagePackContext.Empty, formatters, (int)formatterType, assembly);
 }
 public MessagePackFormatterWrapper(IMessagePackProvider provider, IMessagePackContext context, global::MessagePack.Formatters.IMessagePackFormatter <T> formatter, IFormatterResolver resolver) : base(provider, context)
 {
     Formatter = formatter ?? throw new ArgumentNullException(nameof(formatter));
     Resolver  = resolver ?? throw new ArgumentNullException(nameof(resolver));
 }