internal static PageMetaDataDescription Deserialize(string serializedData) { // DataAssociationVisabilityRuleType is here for backwards compatibility - after 1.3 its not used any more Dictionary <string, string> dic = StringConversionServices.ParseKeyValueCollection(serializedData); if (((dic.ContainsKey("DataAssociationVisabilityRuleType") == false) && (dic.ContainsKey("_PageMetaDataDescriptionType_") == false)) || (dic.ContainsKey("_StartLevel_") == false) || (dic.ContainsKey("_Levels_") == false)) { throw new ArgumentException(string.Format("The serializedData is not a serialized '{0}'", typeof(PageMetaDataDescription)), "serializedData"); } string serializedDataAssociationVisabilityRuleType; if (dic.ContainsKey("_PageMetaDataDescriptionType_")) { serializedDataAssociationVisabilityRuleType = StringConversionServices.DeserializeValueString(dic["_PageMetaDataDescriptionType_"]); } else { serializedDataAssociationVisabilityRuleType = StringConversionServices.DeserializeValueString(dic["DataAssociationVisabilityRuleType"]); } PageMetaDataDescriptionType type = (PageMetaDataDescriptionType)Enum.Parse(typeof(PageMetaDataDescriptionType), serializedDataAssociationVisabilityRuleType); string serializedStartLevel = StringConversionServices.DeserializeValueString(dic["_StartLevel_"]); string serializedLevels = StringConversionServices.DeserializeValueString(dic["_Levels_"]); int startLevel = int.Parse(serializedStartLevel); int levels = int.Parse(serializedLevels); return(new PageMetaDataDescription(type, startLevel, levels)); }
internal PageMetaDataDescription(PageMetaDataDescriptionType dataAssociationVisabilityRuleType, int startLevel, int levels) { this.PageMetaDataDescriptionType = dataAssociationVisabilityRuleType; this.StartLevel = startLevel; this.Levels = levels; }
internal PageMetaDataDescription(PageMetaDataDescriptionType dataAssociationVisabilityRuleType) : this(dataAssociationVisabilityRuleType, 0, 0) { }