public void LoadFromStream(System.Runtime.Serialization.SerializationInfo info, int orderNumber) { _graphicsList = new GraphicsList(); _name = info.GetString( String.Format(CultureInfo.InvariantCulture, "{0}{1}", entryLayerName, orderNumber)); _visible = info.GetBoolean( String.Format(CultureInfo.InvariantCulture, "{0}{1}", entryLayerVisible, orderNumber)); _active = info.GetBoolean( String.Format(CultureInfo.InvariantCulture, "{0}{1}", entryLayerActive, orderNumber)); int n = info.GetInt32( String.Format(CultureInfo.InvariantCulture, "{0}{1}", entryGraphicsCount, orderNumber)); string typeName; object drawObject; for (int i = 0; i < n; i++) { typeName = info.GetString( String.Format(CultureInfo.InvariantCulture, "{0}{1}-{2}", entryObjectType, orderNumber, i)); drawObject = Assembly.GetExecutingAssembly().CreateInstance(typeName); ((DrawObject)drawObject).LoadFromStream(info, orderNumber, i); _graphicsList.Add((DrawObject)drawObject); } }