gpt4 book ai didi

c# - 使用 System::DateTime 参数调用 C++/CLI 方法需要 'ValueType' 作为参数?

转载 作者:太空狗 更新时间:2023-10-29 17:45:27 25 4
gpt4 key购买 nike

我正在尝试从 C# 调用用 C++/CLI 编写的方法。 C++/CLI 代码用于更新 Oracle 数据库中的 TIMESTAMP 列,给定记录 ID 和 System::DateTime 对象,该对象是 .NET 兼容的数据类型对于 Oracle 的 TIMESTAMP 类型。

我调用的方法具有以下原型(prototype):

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

我已经在我制作的测试项目中添加了对这个 DLL 项目的引用;我正在用 C# 编写测试。但是,当我尝试从 C# 单元测试项目调用此方法时,该函数似乎具有以下方法声明(通过智能感知):

bool ChangeJobUpdateDate (int jobIdIn, ValueType updateDateIn)

诚然,我对 C++/CLI 不是很熟悉,所以我是否遗漏了什么?

最佳答案

我怀疑这是因为您使用的是 DateTime^ 而不仅仅是 DateTime。它是一种值类型,那么您为什么要尝试使用引用?

C# 没有任何方式来表示与值类型关联的装箱引用类型,因此它能做的最好的事情是 ValueType - 我怀疑这就是正在发生的事情,尽管由于我缺乏 C++ 经验,我不能肯定地说。只尝试 DateTime,看看它看起来如何......

关于c# - 使用 System::DateTime 参数调用 C++/CLI 方法需要 'ValueType' 作为参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2945115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com