Table of Contents

MessageExtensions Class

Definition

Namespace
Savvyio.Messaging
Assemblies
Savvyio.Messaging.dll
Source
src/Savvyio.Messaging/MessageExtensions.cs

Extension methods for the IMessage<T> interface.

public static class MessageExtensions
Inheritance
MessageExtensions

Examples

This example shows how to clone a message envelope before adding transport-specific state to the copy.

using System;
using Savvyio;
using Savvyio.Messaging;

namespace ExampleApp;

public sealed class MessageExtensionsExample
{
    public IMessage<CreateOrderCommand> Clone()
    {
        var original = new Message<CreateOrderCommand>("msg-42", new Uri("urn:orders"), "orders.created", new CreateOrderCommand("ORD-42"));
        return original.Clone();
    }
}

public sealed record CreateOrderCommand(string OrderId) : Request;

Methods

Name Description
Clone<T>(IMessage<T>, Func<IMessage<T>>)

Clones the specified message using either the specified copier or the default implementation that return a new instance of Message<T>.