internal void PerformSingleOperation() { string message; Action action; if (cmdlet.ParameterSetName == ParameterSet.Default) { message = $"Setting {subObjectTypeDescription.ToLower()} '{Object.Name}' ({objectTypeDescription} ID: {Object.ObjectId}) setting '{Property}' to '{Value}'"; action = () => setObjectProperty(Object, new[] { createParameter(Property, Value) }); } else if (DynamicSet()) { var strActions = dynamicParameters.Value.Select(p => $"'{p.Property}' to '{p.Value}'"); var str = string.Join(", ", strActions); var name = Object != null ? $"{subObjectTypeDescription.ToLower()} '{Object.Name}'" : $"ID {SubId}"; message = $"Setting {subObjectTypeDescription.ToLower()} {name} ({objectTypeDescription} ID: {ObjectId}) setting {str}"; switch (cmdlet.ParameterSetName) { case ParameterSet.Dynamic: action = () => setObjectProperty(Object, dynamicParameters.Value.ToArray()); break; case ParameterSet.DynamicManual: action = () => setObjectPropertyManual(ObjectId, SubId, dynamicParameters.Value.ToArray()); break; default: throw new UnknownParameterSetException(cmdlet.ParameterSetName); } } else { message = $"Setting {subObjectTypeDescription.ToLower()} ID {SubId} ({objectTypeDescription} ID: {ObjectId} setting {Property} to '{Value}'"; action = () => setObjectPropertyManual(ObjectId, SubId, new[] { createParameter(Property, Value) }); } cmdlet.ExecuteOperation(action, message); }