Table of Contents

Struct DeserializationFailure

Namespace
Vonage.Common.Failures
Assembly
Vonage.dll
public readonly struct DeserializationFailure : IResultFailure
Implements
Inherited Members

Examples

// Create a deserialization failure when JSON doesn't match expected type
string invalidJson = "{\"wrong\":\"format\"}";
DeserializationFailure failure = DeserializationFailure.From(typeof(User), invalidJson);
Console.WriteLine(failure.GetFailureMessage());
// "Unable to deserialize '{"wrong":"format"}' into 'User'."

Constructors

DeserializationFailure(Type, string)

Creates a DeserializationFailure.

[JsonConstructor]
public DeserializationFailure(Type expectedType, string serializedContent)

Parameters

expectedType Type

expectedType

serializedContent string

serializedContent

Properties

ExpectedType

The expected type for deserialization.

public Type ExpectedType { get; }

Property Value

Type

SerializedContent

The serialized content.

public string SerializedContent { get; }

Property Value

string

Type

The type of failure.

public Type Type { get; }

Property Value

Type

Methods

From(Type, string)

Creates a DeserializationFailure.

public static DeserializationFailure From(Type expectedType, string serializedContent)

Parameters

expectedType Type

expectedType

serializedContent string

serializedContent

Returns

DeserializationFailure

The failure.

Examples

DeserializationFailure failure = DeserializationFailure.From(typeof(Customer), "{\"id\":123}");
Result<Customer> result = failure.ToResult<Customer>();

GetFailureMessage()

Returns the error message defined in the failure.

public string GetFailureMessage()

Returns

string

The error message.

Examples

IResultFailure failure = ResultFailure.FromErrorMessage("Invalid input");
string message = failure.GetFailureMessage(); // "Invalid input"

ToException()

Converts the failure to an exception.

public Exception ToException()

Returns

Exception

The exception.

Examples

IResultFailure failure = ResultFailure.FromErrorMessage("Operation failed");
throw failure.ToException();

ToResult<T>()

Converts the failure to a Result with a Failure state.

public Result<T> ToResult<T>()

Returns

Result<T>

A Result with a Failure state.

Type Parameters

T

The underlying type of Result.

Examples

IResultFailure failure = ResultFailure.FromErrorMessage("Not found");
Result<User> result = failure.ToResult<User>();
Console.WriteLine(result.IsFailure); // true