public void AddValue(Parameter param) { switch (param.StorageType) { case StorageType.ElementId: ElementId eId = param.AsElementId(); if (eId != ElementId.InvalidElementId && !ElementIDValues.Contains(eId)) { ElementIDValues.Add(eId); } break; case StorageType.Double: double dbl = param.AsDouble(); if (!DoubleValues.Contains(dbl)) { DoubleValues.Add(dbl); } break; case StorageType.Integer: int intVal = param.AsInteger(); if (!IntValues.Contains(intVal)) { IntValues.Add(intVal); } break; case StorageType.String: string str = param.AsString(); if (!string.IsNullOrEmpty(str) && !StringValues.Contains(str)) { StringValues.Add(str); } break; } }