/// <summary> /// Initializes a new instance of the ExifReaderException class with the specific arguments /// </summary> /// <param name="innerException">The source exception</param> /// <param name="propertyFormatter">The property formatter if any</param> /// <param name="undefinedExtractor">The undefined extractor if any</param> internal ExifReaderException(Exception innerException, IExifPropertyFormatter propertyFormatter, IExifValueUndefinedExtractor undefinedExtractor) : this(String.Format("There was a problem handling an Exif tag.\r\n" + "The PropertyFormatter or UndefinedExtractor properties should indicate the cause of the problem.\r\n" + "See the InnerException for more info on the source exception that was thrown.\r\n"), innerException, propertyFormatter, undefinedExtractor) { }
/// <summary> /// Initializes a new instance of the ExifProperty class. /// It's marked internal as it's not intended to be instantiated independently outside of the library. /// </summary> /// <param name="propertyItem">The PropertyItem to base the object on</param> /// <param name="parentReader">The parent ExifReader</param> internal ExifProperty(PropertyItem propertyItem, ExifReader parentReader) { this.parentReader = parentReader; this.propertyItem = propertyItem; this.isUnknown = !Enum.IsDefined(typeof(PropertyTagId), this.RawExifTagId); var customFormatter = this.parentReader.QueryForCustomPropertyFormatter(this.RawExifTagId); if (customFormatter == null) { this.propertyFormatter = ExifPropertyFormatterProvider.GetExifPropertyFormatter(this.ExifTag); } else { this.propertyFormatter = customFormatter; this.hasCustomFormatter = true; } }
/// <summary> /// Initializes a new instance of the ExifReaderException class with the specific arguments /// </summary> /// <param name="message">The error message for the exception</param> /// <param name="innerException">The source exception</param> /// <param name="propertyFormatter">The property formatter if any</param> /// <param name="undefinedExtractor">The undefined extractor if any</param> internal ExifReaderException(string message, Exception innerException, IExifPropertyFormatter propertyFormatter, IExifValueUndefinedExtractor undefinedExtractor) : base(message, innerException) { this.PropertyFormatter = propertyFormatter; this.UndefinedExtractor = undefinedExtractor; }
/// <summary> /// Initializes a new instance of the ExifReaderException class with the specific arguments /// </summary> /// <param name="innerException">The source exception</param> /// <param name="propertyFormatter">The property formatter if any</param> internal ExifReaderException(Exception innerException, IExifPropertyFormatter propertyFormatter) : this(innerException, propertyFormatter, null) { }