Использование методов расширения C # из управляемого C ++ / CLI

Прости меня, если моя терминология немного не в порядке. Мои знания по управляемому C ++ / CLI очень ограничены.

У меня есть приложение MFC, которое использует DLL с включенной опцией / clr. Эта библиотека использует пару библиотек C # для связи с сервером с использованием WCF. По большей части это работает нормально.

В одной из библиотек C # яМы добавили метод расширения в класс System.Net.IPAddress, который будет извлекать маску подсети для объекта IPAddress (используя класс UnicastIPAddressInformation и его IPv4Mask). Метод расширения прекрасно работает на стороне C #, но я не могу понять, как использовать его в управляемом коде C ++ / CLI.

Во-первых, возможно ли это? Если да, то как выглядит синтаксис на стороне управляемого C ++ / CLI? Нужно ли использовать опцию / clr: pure, чтобы это работало?

Вот'Вот пример метода расширения:

using System.Net;
using System.Net.NetworkInformation;
public static class IPAddressExtensions
{
    public static IPAddress GetSubnetMask(this IPAddress address)
    {
        UnicastIPAddressInformation addressInfo = address.GetAddressInformation(); // elided
        return ((addressInfo != null) ? addressInfo.IPv4Mask : null);
    }
}

В моем управляемом коде C ++, как бы я использовал этот метод расширения, еслиВозможно ли?

unsigned long bytes= 0x010000FF; // example address - 127.0.0.1
IPAddress^ address = gcnew IPAddress(BitConverter::GetBytes(bytes));
IPAddress^ subnet = address->GetSubnetMask(); // how do I do this???

Ответы на вопрос(1)

Ваш ответ на вопрос