Implementation of IBackOff that increases the back-off period for each retry attempt using a
randomization function that grows exponentially. In addition, it also adds a randomize number of milliseconds
for each attempt.
An attribute which is used to specially mark a property for reflective purposes,
assign a name to the property and indicate it's location in the request as either
in the path or query portion of the request URL.
Calls to Google Api return StandardResponses as Json with
two properties Data, being the return type of the method called
and Error, being any errors that occure.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-03 UTC."],[[["\u003cp\u003eThis document provides documentation for the \u003ccode\u003eGoogle.Apis.Util\u003c/code\u003e namespace, covering various versions with the latest being 1.69.0.\u003c/p\u003e\n"],["\u003cp\u003eThe namespace includes a range of classes, such as \u003ccode\u003eDiscoveryFormat\u003c/code\u003e, \u003ccode\u003eExponentialBackOff\u003c/code\u003e, \u003ccode\u003eRepeatable<T>\u003c/code\u003e, and \u003ccode\u003eUtilities\u003c/code\u003e, offering utility methods for working with Google APIs and handling tasks like back-off strategies.\u003c/p\u003e\n"],["\u003cp\u003eKey interfaces \u003ccode\u003eIBackOff\u003c/code\u003e and \u003ccode\u003eIClock\u003c/code\u003e are detailed, providing standardized methods for implementing back-off and time-related functionalities.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eRequestParameterAttribute\u003c/code\u003e and \u003ccode\u003eRequestParameterType\u003c/code\u003e are present, which help to define the properties and type of request parameters used in API calls.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eStandardResponse<InnerType>\u003c/code\u003e is also present, which deals with calls to Google APIs and how they return in Json format.\u003c/p\u003e\n"]]],[],null,["# Namespace Google.Apis.Util (1.69.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.69.0 (latest)](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Util)\n- [1.68.0](/dotnet/docs/reference/Google.Apis/1.68.0/Google.Apis.Util)\n- [1.60.0](/dotnet/docs/reference/Google.Apis/1.60.0/Google.Apis.Util)\n- [1.59.0](/dotnet/docs/reference/Google.Apis/1.59.0/Google.Apis.Util)\n- [1.55.0](/dotnet/docs/reference/Google.Apis/1.55.0/Google.Apis.Util)\n- [1.50.0](/dotnet/docs/reference/Google.Apis/1.50.0/Google.Apis.Util) \n\nClasses\n-------\n\n### [DiscoveryFormat](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Util.DiscoveryFormat)\n\nUtility methods to convert to/from Discovery API formats.\nSee \u003chttps://developers.google.com/discovery/v1/type-format\u003e\n\n### [ExponentialBackOff](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Util.ExponentialBackOff)\n\nImplementation of [IBackOff](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Util.IBackOff) that increases the back-off period for each retry attempt using a\nrandomization function that grows exponentially. In addition, it also adds a randomize number of milliseconds\nfor each attempt.\n\n### [Repeatable\\\u003cT\\\u003e](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Util.Repeatable-1)\n\nRepeatable class which allows you to both pass a single element, as well as an array, as a parameter value.\n\n### [RequestParameterAttribute](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Util.RequestParameterAttribute)\n\nAn attribute which is used to specially mark a property for reflective purposes,\nassign a name to the property and indicate it's location in the request as either\nin the path or query portion of the request URL.\n\n### [StandardResponse\\\u003cInnerType\\\u003e](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Util.StandardResponse-1)\n\nCalls to Google Api return StandardResponses as Json with\ntwo properties Data, being the return type of the method called\nand Error, being any errors that occure.\n\n### [StringValueAttribute](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Util.StringValueAttribute)\n\nDefines an attribute containing a string representation of the member.\n\n### [SystemClock](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Util.SystemClock)\n\nA default clock implementation that wraps the [UtcNow](https://learn.microsoft.com/dotnet/api/system.datetime.utcnow)\nand [Now](https://learn.microsoft.com/dotnet/api/system.datetime.now) properties.\n\n### [UriPatcher](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Util.UriPatcher)\n\nWorkarounds for some unfortunate behaviors in the .NET Framework's\nimplementation of System.Uri\n\n### [Utilities](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Util.Utilities)\n\nA utility class which contains helper methods and extension methods.\n\nInterfaces\n----------\n\n### [IBackOff](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Util.IBackOff)\n\nStrategy interface to control back-off between retry attempts.\n\n### [IClock](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Util.IClock)\n\nClock wrapper for getting the current time.\n\nEnums\n-----\n\n### [RequestParameterType](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Util.RequestParameterType)\n\nDescribe the type of this parameter (Path, Query or UserDefinedQueries)."]]