示例#1
0
        /// <summary>
        ///    Registers a <see cref="File" /> subclass to be used when
        ///    creating files via <see cref="File.Create(string)" />.
        /// </summary>
        /// <param name="type">
        ///    A <see cref="Type" /> object for the class to register.
        /// </param>
        /// <remarks>
        ///    In order to register mime-types, the class represented by
        ///    <paramref name="type" /> should use the <see
        ///    cref="SupportedMimeType" /> custom attribute.
        /// </remarks>
        public static void Register(Type type, File.FileCreator creator)
        {
            var attrs = type.GetTypeInfo().GetCustomAttributes(typeof(SupportedMimeType), false);

            foreach (SupportedMimeType attr in attrs)
            {
                AllFileTypes.Add(attr.MimeType, new RegisteredMimeType(attr.MimeType, type, creator));
            }
        }
示例#2
0
 public RegisteredMimeType(string mimeType, Type type, File.FileCreator fileCreator)
 {
     MimeType    = mimeType;
     Type        = type;
     FileCreator = fileCreator;
 }