Установка dllimport программно в C #

я используюDllImport в моем решении.

Моя проблема в том, что у меня есть две версии одной и той же библиотеки DLL, одна для 32-битной, а другая для 64-битной.

Они оба предоставляют одинаковые функции с одинаковыми именами и одинаковыми сигнатурами. Моя проблема заключается в том, что я должен использовать два статических метода, которые выставляют их, а затем во время выполнения использоватьIntPtr размер, чтобы определить правильный для вызова.

private static class Ccf_32
{
    [DllImport(myDllName32)]
    public static extern int func1();
}

private static class Ccf_64
{
    [DllImport(myDllName64)]
    public static extern int func1();
}

Я должен сделать это, потому чтоmyDllName32 а такжеmyDllName64 должен быть постоянным, и я не нашел способ установить его во время выполнения.

У кого-нибудь есть элегантное решение для этого, чтобы я мог избавиться от дублирования кода и постояннойIntPtr проверка размера.

Если бы я мог установить имя файла, мне пришлось бы проверять только один раз, и я мог бы избавиться от тонны повторяющегося кода.

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

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