Да, ваш класс C # также должен реализовывать IDisposable. Его метод Dispose () должен просто удалять объекты C ++ / CLI. Нет необходимости в финализаторе, вы уже внедрили его в свои оболочки. Ваши оболочки не отличаются от многих других классов .NET, которые оборачивают ресурс операционной системы.
Например:
class Test : IDisposable {
private CppWrapper obj;
//...
public void Dispose() {
if (obj != null) {
obj.Dispose();
obj = null;
}
}
}