public void Apply(VariableStore store, bool removeMissing) { if (removeMissing) { for (var i = 0; i < store.Variables.Count; i++) { if (!Contains(store.Variables[i].Name)) { store.Remove(i--); } } } foreach (var definition in Definitions) { var variable = store.GetVariable(definition.Name); if (variable == null) { store.Add(VariableValue.Create(definition.Name, definition.Type)); } else if (variable.Type != definition.Type) { variable.ChangeType(definition.Type); } } }
private void RemoveStoreEntry(int index) { _store.Remove(index); }