marshalling相关内容

如何通过引用将数组从C#传递到非托管COM(VT_BYREF)

我有一个用C++编写的COM组件,我不能更改其源代码,它的一个方法的参数之一是VARIANT *pParamArray。使用tlbimp,我可以为其创建托管存根,并将C#中的数组传递给它。 遗憾的是,COM组件期望通过引用传递其数组-有对pParamArray->vt != (VT_BYREF | VT_ARRAY | VT_VARIANT)的显式检查,如果未通过该检查,则返回错误。 ..
发布时间:2022-08-13 22:14:21 C#/.NET

从跨平台DLL返回整数数组

我用C++创建了一个可在Windows和Mac OSX上编译的跨平台DLL。在Windows上,我有一个使用P/Invoke调用DLL的C#应用程序,而在Mac OSX上,一个Objective C应用程序调用DLL。我有一些简单的函数可以很好地工作,但我需要一个返回整数数组的新函数。 我能找到的最好的例子是Marshal C++ int array to C#,我能够让它工作。但是,我想修 ..
发布时间:2022-08-13 22:11:15 C#/.NET

如何将C#数组传递给C++,并将其返回给C#以及其他项?

我有一个使用C++DLL的C#项目。(在Visual Studio 2010中) 我必须将一个int数组从C#代码传递给C++函数,C++函数会在数组中添加一些元素,当控制权返回到C#代码时,C#代码也会在同一数组中添加元素。 最初,我在C#代码中声明了一个数组(大小为10000),C++代码能够添加元素(因为它只是一个整型数组,内存分配相同),但问题是,由于访问数组的外部,我得到了运 ..
发布时间:2022-07-17 10:20:54 C#/.NET

在封送程序上设置CharacterEscapeHandler变量在CXF中不会按预期工作

我正在使用ApacheCXF在服务器端实现一些Web服务。我必须实现一个WebService,它返回一个字符串(Holder),其中一些值用制表符分隔。ApacheCXF将字符制表符编码为制表符,但我们的客户端(不能更改...)不接受,并且只读取编码为&;#9;的选项卡。 因此,我尝试简单地将字符串上的replaceAll更改为&;#9;,但Marshaller上的让渡处理程序将 ..
发布时间:2022-07-03 12:37:01 其他开发

将C#结构编组为一个字节[]

有没有办法将用[StructLayout]注释的C#结构序列化为托管字节数组,即预制或分配的byte[]? 我可以看到先封送到非托管内存,然后再进行复制,但这很难看。 推荐答案 签出MemoryMarshal.Cast()。它将允许您轻松地从字节/短/整型/长数组更改为结构和返回。 https://docs.microsoft.com/en-us/d ..
发布时间:2022-04-16 18:12:54 C#/.NET

自定义MarshalJSON()从不在Go中调用

我编写了MarshalJSON和UnmarshalJSON的自定义版本。我的UnmarshalJSON以我希望的方式调用,但我无法使其与MarshalJSON一起工作。以下代码总结了我的问题: package main import ( "bytes" "encoding/json" "fmt" "log" "os" ) type myStruct ..
发布时间:2022-04-16 18:01:19 其他开发

封送切片结果为字符串

我正在尝试对uint8值的片段进行json编码,但这样做会产生一个字符串。举个例子,这个: d := []uint8{1,2,3,4} data, err := json.Marshal(d) fmt.Println(string(data), err) 结果: "AQIDBA==" 我期望的是[1,2,3,4],但我得到的却是这个奇怪的字符串。Here是上面有此代 ..
发布时间:2022-04-16 17:56:30 其他开发

未调用MarshalJSON

我正在尝试使用以下界面自定义MarshalJSON的输出: func (m *RawMessage) MarshalJSON() ([]byte, error) 我遵循了该教程:http://choly.ca/post/go-json-marshalling/ 我的目的是删除将其中一个字段替换为True/False(如果设置或未设置),因此我最终编写了该函数: func (u ..
发布时间:2022-04-16 17:55:04 其他开发

json.Marshal(struct) 返回“{}"

type TestObject struct {种类字符串`json:“种类"`id 字符串 `json:"id, omitempty"`名称字符串`json:“名称"`电子邮件字符串`json:“电子邮件"`}func TestCreateSingleItemResponse(t *testing.T) {测试对象:=新(测试对象)testObject.kind = "测试对象"testObje ..
发布时间:2022-01-31 13:15:14 其他开发

删除“类型"从 JSON 输出球衣 moxy

如何从我拥有的 JSON 输出中删除 type.我有一个包含 REST 服务输出的类/bean.我正在使用 jersey-media-moxy 进行转换. 服务 @Resource公共接口 MyBeanResource{@得到@Path("/example")@Produces(MediaType.APPLICATION_JSON)公共 Bean getBean();} 豆子 @Xml ..
发布时间:2022-01-21 18:50:11 Java开发

如何将字节数组作为 UDT 属性从 VB6/VBA 传递到 C# COM DLL?

我有一个尝试向 VBA 公开的 C# 库.我可以很好地将参数传递给函数(即“ref byte[] someArray"),但是传递对象或结构就行不通了. 如果我尝试将字节数组作为类的属性传递,我会在 VB 中收到以下错误- 函数或接口标记为受限,或函数使用 Visual Basic 不支持的自动化类型 如果我尝试将字节数组作为结构的属性传递,我会在 VB 中收到以下错误- ..
发布时间:2022-01-20 19:34:41 C#/.NET

使用 eclipselink.media-type 值设置 Marshaller 属性时出现 PropertyException:application/json

我正在尝试遵循位于 here 但得到一个 javax.xml.bind.PropertyException.由于以下代码行,我收到此异常: marshaller.setProperty("eclipselink.media-type", "application/json"); 我已经复制/粘贴了上面列出的示例,所以我的代码正是您在此处看到的.搜索 SO 和 Google 并没有帮助,我想我会 ..
发布时间:2022-01-19 10:10:59 Java开发