Вызов C++ / Метод CLI с Системой:: параметр DateTime требует 'ValueType' в качестве параметра?

Я пытаюсь назвать метод записанным в C++ / CLI от C#. C++ / код CLI используется для обновления a TIMESTAMP столбец в базе данных Oracle, учитывая рекордный идентификатор и System::DateTime объект, который является.NET совместимый тип данных для Oracle TIMESTAMP ввести.

Метод, который я называю, имеет следующий прототип:

bool ChangeJobUpdateDate (int jobIdIn, System::DateTime^ updateDateIn)

Я добавил ссылку на этот проект DLL в тестовом проекте, который я сделал; я пишу тесты в C#. Однако, когда я пытаюсь назвать этот метод из проекта модульного теста C#, функция, кажется, имеет следующее объявление метода (через intellisense):

bool ChangeJobUpdateDate (int jobIdIn, ValueType updateDateIn)

Я по общему признанию не настолько знаком с C++ / CLI, так есть ли что-то, что я пропускаю?

9
задан David Ipsen 31 May 2010 в 06:39
поделиться

1 ответ

Я подозреваю, что это потому, что вы используете DateTime ^ вместо просто DateTime . Это тип значения, так почему вы пытаетесь использовать ссылку?

В C # нет способа представить упакованный ссылочный тип, связанный с типом значения, поэтому лучшее, что он может сделать, это ValueType - Я подозреваю , что происходит, хотя я не могу сказать наверняка из-за отсутствия опыта работы с C ++. Попробуйте просто DateTime и посмотрите, как это выглядит ...

12
ответ дан 2 November 2019 в 23:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: