public AMF0ReflectionOptimizer(Type type, AMFReader reader, object instance) {
			_createInstanceMethod = CreateCreateInstanceMethod(type);
#if !(MONO) && !(NET_2_0) && !(NET_3_5) && !(SILVERLIGHT)
			_ps = new PermissionSet(PermissionState.None);
			_ps.AddPermission(new ReflectionPermission(ReflectionPermissionFlag.MemberAccess));
#endif
			_readDataMethod = CreateReadDataMethod(type, reader, instance);
		}
Exemple #2
0
        public AMF0ReflectionOptimizer(Type type, AMFReader reader, object instance)
        {
            _createInstanceMethod = CreateCreateInstanceMethod(type);
            _readDataMethod       = CreateReadDataMethod(type, reader, instance);
#if !(MONO) && !(NET_2_0) && !(NET_3_5) && !(SILVERLIGHT)
            _ps = new PermissionSet(PermissionState.None);
            _ps.AddPermission(new ReflectionPermission(ReflectionPermissionFlag.MemberAccess));
#endif
        }
        /// <summary>
        /// Class constructor.
        /// </summary>
        public ReflectionOptimizer(System.Type mappedType, IGetter[] getters, ISetter[] setters)
        {
            // save off references
            this.mappedType = mappedType;
            typeOfThis      = mappedType.IsValueType ? mappedType.MakeByRefType() : mappedType;
            //this.getters = getters;
            //this.setters = setters;

            GetPropertyValuesInvoker getInvoker = GenerateGetPropertyValuesMethod(getters);
            SetPropertyValuesInvoker setInvoker = GenerateSetPropertyValuesMethod(getters, setters);

            accessOptimizer = new AccessOptimizer(getInvoker, setInvoker, getters, setters);

            createInstanceMethod = CreateCreateInstanceMethod(mappedType);
        }
		/// <summary>
		/// Class constructor.
		/// </summary>
		public ReflectionOptimizer(System.Type mappedType, IGetter[] getters, ISetter[] setters)
		{
			// save off references
			this.mappedType = mappedType;
			typeOfThis = mappedType.IsValueType ? mappedType.MakeByRefType() : mappedType;
			//this.getters = getters;
			//this.setters = setters;

			GetPropertyValuesInvoker getInvoker = GenerateGetPropertyValuesMethod(getters);
			SetPropertyValuesInvoker setInvoker = GenerateSetPropertyValuesMethod(getters, setters);

			accessOptimizer = new AccessOptimizer(getInvoker, setInvoker, getters, setters);

			createInstanceMethod = CreateCreateInstanceMethod(mappedType);
		}
        /// <summary>
        /// Class constructor.
        /// </summary>
        public ReflectionOptimizer(
            System.Type mappedType, IGetter[] getters, ISetter[] setters,
            IGetter specializedGetter, ISetter specializedSetter)
        {
            // save off references
            this.mappedType = mappedType;
            typeOfThis      = mappedType.IsValueType ? mappedType.MakeByRefType() : mappedType;
            //this.getters = getters;
            //this.setters = setters;

            GetPropertyValuesInvoker getInvoker = GenerateGetPropertyValuesMethod(getters);
            SetPropertyValuesInvoker setInvoker = GenerateSetPropertyValuesMethod(setters);

            var getMethods = new GetPropertyValueInvoker[getters.Length];

            for (var i = 0; i < getters.Length; i++)
            {
                getMethods[i] = GenerateGetPropertyValueMethod(getters[i]);
            }

            var setMethods = new SetPropertyValueInvoker[setters.Length];

            for (var i = 0; i < setters.Length; i++)
            {
                setMethods[i] = GenerateSetPropertyValueMethod(setters[i]);
            }

            accessOptimizer = new AccessOptimizer(
                getInvoker,
                setInvoker,
                getMethods,
                setMethods,
                GenerateGetPropertyValueMethod(specializedGetter),
                GenerateSetPropertyValueMethod(specializedSetter)
                );

            createInstanceMethod = CreateCreateInstanceMethod(mappedType);
        }
Exemple #6
0
 public AMF3ReflectionOptimizer(Type type, ClassDefinition classDefinition, AMFReader reader, object instance)
 {
     _classDefinition      = classDefinition;
     _createInstanceMethod = CreateCreateInstanceMethod(type);
     _readDataMethod       = CreateReadDataMethod(type, reader, instance);
 }
 public SerializationOptimizerBuilder(Type type)
 {
     _createInstance = CreateCreateInstanceMethod(type);
 }
 public SerializationOptimizer(CreateInstanceInvoker createInstance)
 {
     _createInstance = createInstance;
 }
Exemple #9
0
 public AMF0ReflectionOptimizer(Type type, AMFReader reader, object instance)
 {
     this._createInstanceMethod = this.CreateCreateInstanceMethod(type);
     this._readDataMethod       = this.CreateReadDataMethod(type, reader, instance);
 }