protected virtual void CheckValidType()

in src/NMS.AMQP/Util/Types/Map/PrimitiveMapBase.cs [231:245]


        protected virtual void CheckValidType(Object value)
        {
            if (value != null && !(value is IList) && !(value is IDictionary))
            {
                Type type = value.GetType();

                if (type.IsInstanceOfType(typeof(Object)) ||
                    (!type.IsPrimitive && !type.IsValueType && !type.IsAssignableFrom(typeof(string))) ||
                    (!ConversionSupport.IsNMSType(value))
                )
                {
                    throw new NMSException("Invalid type: " + type.Name + " for value: " + value);
                }
            }
        }