Как извлечь ресурсы добавляемые через EmbeddedResources.Add на другой стороне?

Чтобы извлечь ресурсы, добавленные через метод EmbeddedResources.Add в C#, вам понадобится использовать рефлексию и получить доступ к сборке, в которой хранятся ресурсы.

Вот подробный шаг за шагом алгоритм, который позволит вам извлечь ресурсы:

1. Подключите пространство имен System.Reflection.

using System.Reflection;

2. Получите текущую сборку, в которой хранятся ваши ресурсы, используя метод Assembly.GetExecutingAssembly().

Assembly assembly = Assembly.GetExecutingAssembly();

3. Получите список всех ресурсов, содержащихся в сборке, с помощью метода assembly.GetManifestResourceNames(). Этот метод вернет массив строк, содержащий имена всех ресурсов.

string[] resourceNames = assembly.GetManifestResourceNames();

4. Проходя по каждому имени ресурса в массиве resourceNames, вы можете выбрать нужные вам ресурсы. Для этого снова используйте рефлексию и метод assembly.GetManifestResourceStream(resourceName).

foreach (string resourceName in resourceNames)
{
    using (var stream = assembly.GetManifestResourceStream(resourceName))
    {
        // Обработка ресурсов
    }
}

5. Внутри цикла вы можете использовать stream для работы с ресурсами. Например, если ваш ресурс является текстовым файлом, вы можете прочитать его содержимое с помощью класса StreamReader.

using (var reader = new StreamReader(stream))
{
    string content = reader.ReadToEnd();
    // Обработка текстового файла
}

6. После обработки ресурса закройте поток, используя конструкцию using.

using (var stream = assembly.GetManifestResourceStream(resourceName))
{
    // Обработка ресурса
}

Таким образом, вы сможете извлечь ресурсы, добавленные через EmbeddedResources.Add на другой стороне, используя рефлексию и методы предоставляемые классом Assembly.