Beispiel #1
0
        /// <inheritdoc />
        public IExternalizable CreateExternalizableInstance(string classAlias)
        {
            if (classAlias == null)
            {
                throw new ArgumentNullException("classAlias");
            }

            ActionScriptClassMapping classMapping = mappingTable.GetClassMappingByAlias(classAlias);

            if (classMapping != null)
            {
                if (classMapping.ASClass.Layout != ASClassLayout.Externalizable)
                {
                    throw new ActionScriptException(String.Format(CultureInfo.CurrentCulture,
                                                                  "The class mapping for class alias '{0}' does not have an Externalizable layout.",
                                                                  classAlias));
                }

                return((IExternalizable)Activator.CreateInstance(classMapping.NativeType));
            }

            throw new ActionScriptException(String.Format(CultureInfo.CurrentCulture,
                                                          "Cannot find a class mapping for class alias '{0}' from which to reconstruct an Externalizable ActionScript object.",
                                                          classAlias));
        }
Beispiel #2
0
        /// <inheritdoc />
        public string GetClassAlias(Type nativeType)
        {
            if (nativeType == null)
            {
                throw new ArgumentNullException("nativeType");
            }

            ActionScriptClassMapping classMapping = mappingTable.GetClassMappingByType(nativeType);

            return(classMapping != null ? classMapping.ASClass.ClassAlias : "");
        }