LicenseException.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / CompMod / System / ComponentModel / LicenseException.cs / 1 / LicenseException.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

namespace System.ComponentModel { 
    using Microsoft.Win32; 
    using System;
    using System.Diagnostics; 
    using System.Runtime.Serialization;
    using System.Security.Permissions;

    ///  
    ///    Represents the exception thrown when a component cannot be granted a license.
    ///  
    [HostProtection(SharedState = true)] 
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1032:ImplementStandardExceptionConstructors")] // must not, a Type is required in all constructors.
    [Serializable] 
    public class LicenseException : SystemException {
        private Type type;
        private object instance;
 
        /// 
        /// Initializes a new instance of the  class for the 
        ///    specified type. 
        /// 
        public LicenseException(Type type) : this(type, null, SR.GetString(SR.LicExceptionTypeOnly, type.FullName)) { 
        }
        /// 
        /// Initializes a new instance of the  class for the
        ///    specified type and instance. 
        /// 
        public LicenseException(Type type, object instance) : this(type, null, SR.GetString(SR.LicExceptionTypeAndInstance, type.FullName, instance.GetType().FullName))  { 
        } 
        /// 
        /// Initializes a new instance of the  class for the 
        ///    specified type and instance with the specified message.
        /// 
        public LicenseException(Type type, object instance, string message) : base(message) {
            this.type = type; 
            this.instance = instance;
            HResult = HResults.License; 
        } 
        /// 
        /// Initializes a new instance of the  class for the 
        ///    specified innerException, type and instance with the specified message.
        /// 
        public LicenseException(Type type, object instance, string message, Exception innerException) : base(message, innerException) {
            this.type = type; 
            this.instance = instance;
            HResult = HResults.License; 
        } 

        ///  
        ///     Need this constructor since Exception implements ISerializable.
        /// 
        protected LicenseException(SerializationInfo info, StreamingContext context) : base (info, context) {
            type = (Type) info.GetValue("type", typeof(Type)); 
            instance = info.GetValue("instance", typeof(object));
        } 
 
        /// 
        ///    Gets the type of the component that was not granted a license. 
        /// 
        public Type LicensedType {
            get {
                return type; 
            }
        } 
 
        /// 
        ///     Need this since Exception implements ISerializable and we have fields to save out. 
        /// 
        [SecurityPermission(SecurityAction.Demand, SerializationFormatter=true)]
        public override void GetObjectData(SerializationInfo info, StreamingContext context) {
            if (info == null) { 
                throw new ArgumentNullException("info");
            } 
 
            info.AddValue("type", type);
            info.AddValue("instance", instance); 

            base.GetObjectData(info, context);
        }
    } 
}
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK