diff --git a/docs/usage.md b/docs/usage.md
index 40169b44e..d19374204 100644
--- a/docs/usage.md
+++ b/docs/usage.md
@@ -215,6 +215,21 @@ request.AddParameter("ids", "123,456");
Remember that `AddObject` only works if your properties have primitive types. It also works with collections of primitive types as shown above.
+If you need to override the property name or format, you can do it using the `RequestProperty` attribute. For example:
+
+```csharp
+public class RequestModel {
+ // override the name and the format
+ [RequestAttribute(Name = "from_date", Format = "d")]
+ public DateTime FromDate { get; set; }
+}
+
+// add it to the request
+request.AddObject(new RequestModel { FromDate = DateTime.Now });
+```
+
+In this case, the request will get a GET or POST parameter named `from_date` and its value would be the current date in short date format.
+
### Url Segment
Unlike `GetOrPost`, this `ParameterType` replaces placeholder values in the `RequestUrl`:
diff --git a/src/RestSharp/Extensions/MiscExtensions.cs b/src/RestSharp/Extensions/StreamExtensions.cs
similarity index 53%
rename from src/RestSharp/Extensions/MiscExtensions.cs
rename to src/RestSharp/Extensions/StreamExtensions.cs
index 38902a6c7..74b7e684b 100644
--- a/src/RestSharp/Extensions/MiscExtensions.cs
+++ b/src/RestSharp/Extensions/StreamExtensions.cs
@@ -17,7 +17,7 @@ namespace RestSharp.Extensions;
///
/// Extension method overload!
///
-static class MiscExtensions {
+static class StreamExtensions {
///
/// Read a stream into a byte array
///
@@ -39,40 +39,4 @@ public static async Task ReadAsBytes(this Stream input, CancellationToke
return ms.ToArray();
}
-
- internal static IEnumerable<(string Name, string? Value)> GetProperties(this object obj, params string[] includedProperties) {
- // automatically create parameters from object props
- var type = obj.GetType();
- var props = type.GetProperties();
-
- foreach (var prop in props) {
- if (!IsAllowedProperty(prop.Name))
- continue;
-
- var val = prop.GetValue(obj, null);
-
- if (val == null)
- continue;
-
- var propType = prop.PropertyType;
-
- if (propType.IsArray) {
- var elementType = propType.GetElementType();
- var array = (Array)val;
-
- if (array.Length > 0 && elementType != null) {
- // convert the array to an array of strings
- var values = array.Cast