public sealed class PreconditionFailure : IMessage<PreconditionFailure>, IEquatable<PreconditionFailure>, IDeepCloneable<PreconditionFailure>, IBufferMessage, IMessage
Describes what preconditions have failed.
For example, if an RPC failed because it required the Terms of Service to be
acknowledged, it could list the terms of service violation in the
PreconditionFailure message.
[[["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-08-07 UTC."],[[["\u003cp\u003eThe \u003ccode\u003ePreconditionFailure\u003c/code\u003e class describes the failure of one or more preconditions, often used in RPC (Remote Procedure Call) scenarios, like the requirement to accept Terms of Service.\u003c/p\u003e\n"],["\u003cp\u003eThis class implements several interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, indicating its capabilities for message handling, equality checks, deep cloning, and buffered operations.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ePreconditionFailure\u003c/code\u003e class contains a \u003ccode\u003eViolations\u003c/code\u003e property, which is a \u003ccode\u003eRepeatedField\u003c/code\u003e used to list specific precondition violations, and it has a related \u003ccode\u003eViolationsFieldNumber\u003c/code\u003e field.\u003c/p\u003e\n"],["\u003cp\u003eThe class provides methods for calculating message size (\u003ccode\u003eCalculateSize\u003c/code\u003e), deep cloning (\u003ccode\u003eClone\u003c/code\u003e), merging data from other objects or streams (\u003ccode\u003eMergeFrom\u003c/code\u003e), and writing data to streams (\u003ccode\u003eWriteTo\u003c/code\u003e), among other utility methods.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of the class is \u003ccode\u003e2.15.0\u003c/code\u003e and is available as part of the \u003ccode\u003eGoogle.Rpc\u003c/code\u003e namespace within the \u003ccode\u003eGoogle.Api.CommonProtos.dll\u003c/code\u003e assembly.\u003c/p\u003e\n"]]],[],null,[]]