Я пытаюсь назвать метод записанным в 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, так есть ли что-то, что я пропускаю?
Я подозреваю, что это потому, что вы используете DateTime ^
вместо просто DateTime
. Это тип значения, так почему вы пытаетесь использовать ссылку?
В C # нет способа представить упакованный ссылочный тип, связанный с типом значения, поэтому лучшее, что он может сделать, это ValueType
- Я подозреваю , что происходит, хотя я не могу сказать наверняка из-за отсутствия опыта работы с C ++. Попробуйте просто DateTime
и посмотрите, как это выглядит ...