//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.ComponentModel { using Microsoft.Win32; using System; using System.Diagnostics; using System.Globalization; using System.Runtime.Serialization; using System.Security.Permissions; /// /// The exception that is thrown when using invalid arguments that are enumerators. /// [HostProtection(SharedState = true)] [Serializable] public class InvalidEnumArgumentException : ArgumentException { /// /// Initializes a new instance of the class without a message. /// public InvalidEnumArgumentException() : this(null) { } /// /// Initializes a new instance of the class with /// the specified message. /// public InvalidEnumArgumentException(string message) : base(message) { } /// /// Initializes a new instance of the Exception class with a specified error message and a /// reference to the inner exception that is the cause of this exception. /// FxCop CA1032: Multiple constructors are required to correctly implement a custom exception. /// public InvalidEnumArgumentException( string message, Exception innerException ) : base(message, innerException) { } /// /// Initializes a new instance of the class with a /// message generated from the argument, invalid value, and enumeration /// class. /// public InvalidEnumArgumentException(string argumentName, int invalidValue, Type enumClass) : base(SR.GetString(SR.InvalidEnumArgument, argumentName, invalidValue.ToString(CultureInfo.CurrentCulture), enumClass.Name), argumentName) { } /// /// Need this constructor since Exception implements ISerializable. We don't have any fields, /// so just forward this to base. /// protected InvalidEnumArgumentException(SerializationInfo info, StreamingContext context) : base(info, context) { } } }