Мне нужно мнение о написании управляемой (C#) оболочки для неуправляемой библиотеки C++.Конструкция оболочки C# для DLL с P/Invoke
Скажем, у меня есть объект вроде этого:
public class ManagedObject
{
public void DoSomethingWithTheObject()
{
}
}
и предположим, что метод DoSomethingWithTheObject() должен сделать вызов неуправляемого метода DLL.
В настоящее время существует два приемлемых возможностей, которые приходят на ум:
public void DoSomethingWithTheObject()
{
DllWrapperClass.DirectCallToUnmanagedMethod(some_value_type);
}
и
public void DoSomethingWithTheObject()
{
DllWrapperClass.MethodName(this);
}
То, что я в основном спрашиваю, если
класс обертка должна просто быть оберткой неуправляемым методам, и все объекты напрямую вызовут эти методы
класс-оболочки должна быть аккуратно интегрирован с объектами и скрыть как можно больше «неуправляемого путь» работать как possbile
Я склоняюсь ко второму варианте, но я хотел бы услышать некоторые другие мнения, поскольку оба пути имеют свои плюсы и минусы.
Спасибо. У меня были те же мысли. –
1+. Для вашего лучшего ответа. – Aliostad