internal ScriptType(ScriptAssembly assembly, Type type)
        {
            this.assembly = assembly;
            this.rawType  = type;

            // Create member proxies
            fields    = new ScriptFieldProxy(true, this);
            properies = new ScriptPropertyProxy(true, this);
        }
        // Constructor
        /// <summary>
        /// Create a new instance of a <see cref="ScriptProxy"/>.
        /// </summary>
        /// <param name="scriptType">The <see cref="ScriptType"/> to create an instance from</param>
        /// <param name="instance">The raw instance</param>
        internal ScriptProxy(ScriptType scriptType, object instance)
        {
            this.scriptType = scriptType;
            this.instance   = instance;

            // Create member proxies
            fields    = new ScriptFieldProxy(false, scriptType, this);
            properies = new ScriptPropertyProxy(false, scriptType, this);
        }
        // Constructor
        /// <summary>
        /// Create a <see cref="ScriptType"/> from a <see cref="Type"/>.
        /// </summary>
        /// <param name="type">The <see cref="Type"/> to create the <see cref="ScriptType"/> from</param>
        public ScriptType(Type type)
        {
            this.assembly = null;
            this.rawType  = type;

            // Create member proxies
            fields    = new ScriptFieldProxy(true, this);
            properies = new ScriptPropertyProxy(true, this);
        }