private FrontendObject ProcessObjectTypeTag(FrontendObject frontendObject, ObjectTypeTag objectTypeTag) { FrontendObject newInstance; switch (objectTypeTag.Type) { case FEObjType.FE_Image: newInstance = new FrontendImage(frontendObject); break; case FEObjType.FE_Group: newInstance = new FrontendGroup(frontendObject); break; case FEObjType.FE_String: newInstance = new FrontendString(frontendObject); break; case FEObjType.FE_MultiImage: newInstance = new FrontendMultiImage(frontendObject); break; case FEObjType.FE_ColoredImage: newInstance = new FrontendColoredImage(frontendObject); break; default: throw new IndexOutOfRangeException($"cannot handle object type: {objectTypeTag.Type}"); } newInstance.Type = objectTypeTag.Type; return(newInstance); }
private IObject <ObjectData> ProcessObjectTypeTag(ObjectTypeTag objectTypeTag) { IObject <ObjectData> newInstance; switch (objectTypeTag.Type) { case ObjectType.Image: newInstance = new Image(null); break; case ObjectType.Group: newInstance = new Group(null); break; case ObjectType.String: newInstance = new Text(null); break; case ObjectType.MultiImage: newInstance = new MultiImage(null); break; case ObjectType.ColoredImage: newInstance = new ColoredImage(null); break; case ObjectType.SimpleImage: newInstance = new SimpleImage(null); break; case ObjectType.Movie: newInstance = new Movie(null); break; default: throw new IndexOutOfRangeException($"cannot handle object type: {objectTypeTag.Type}"); } newInstance.Type = objectTypeTag.Type; return(newInstance); }