internal void RemoveProperty(AppOptionProperty property) { if (Declaration is AppOptionDeclaration) { (Declaration as AppOptionDeclaration) .RemoveProperty(property); } }
private void ResetProperty(FolderItemType type) { _UserProperties.Remove(OutputPathProperty); var propId = OutputPathProperty?.PropertyId ?? GenerateNextPropertyId(); switch (type) { case FolderItemType.File: OutputPathProperty = new FileOutputAppOptionProperty(propId, Name); break; case FolderItemType.Folder: OutputPathProperty = new FolderOutputAppOptionProperty(propId, Name); break; default: break; } _UserProperties.Add(OutputPathProperty); OptionTextPattern = ToPatternText(OutputPathProperty); }
protected override bool CanRemoveProperty(AppOptionProperty property) { return false == property is FolderOutputAppOptionProperty; }
public override void Rollback(AppOptionDeclarationBase other) { base.Rollback(other); OutputPathProperty = UserProperties[0]; }
public void OnDeserialized(StreamingContext context) { if (_UserProperties.Count > 0) { OutputPathProperty = _UserProperties[0]; } }
public bool RemoveProperty(AppOptionProperty property) { if (CanRemoveProperty(property)) { return _UserProperties.Remove(property); } else { return false; } }
protected virtual bool CanRemoveProperty(AppOptionProperty property) { return true; }
protected string ToPatternText(AppOptionProperty prop) { return $"%{prop.ValiableName}%"; }