#pragma warning disable CS0108 // Member hides inherited member; missing new keyword
        public void MediaTypes(params string[] mediaTypes)
#pragma warning restore CS0108 // Member hides inherited member; missing new keyword
        {
            if (mediaTypes == null)
            {
                throw new ArgumentNullException(nameof(mediaTypes));
            }

            if (mediaTypes.Length == 0)
            {
                throw new ArgumentException("One or more parameter values expected.", nameof(mediaTypes));
            }
            var validator = new Rfc2045MediaTypeValidator();
            var types = mediaTypes.Distinct().ToArray();

            foreach (var mediaType in types)
            {
                try
                {
                    validator.Validate(mediaType);
                }
                catch (Exception e)
                {
                    throw new ArgumentException("Invalid argument. Details: " + e.Message, e);
                }
            }

            base.MediaTypes = types;
        }
        private void ValidateMediaTypes(string[] mediaTypes)
        {
            if (mediaTypes == null || mediaTypes.Length == 0) return;

            var validator = new Rfc2045MediaTypeValidator();

            foreach (var mediaType in mediaTypes)
            {
                try
                {
                    validator.Validate(mediaType);
                }
                catch (Exception e)
                {
                    throw CreateAttributeException("Invalid media type: " + mediaType, e);
                }
            }
        }
 public void Setup()
 {
     _validator = new Rfc2045MediaTypeValidator();
 }