interop相关内容

如何处理 null 或可选的 DLL 结构参数

如何处理使用 pinvoke 从 C# 调用的 dll 方法中的可选 struct 参数?例如,lpSecurityAttributes 此处的参数 不存在时应传递null. struct 的正确传递方式似乎是使用ref,但它不能有可选参数,或者一般取null. 有哪些方法可以实现这一目标? 解决方案 你有几个选择 1) 使用 class 而不是 struct 我认 ..
发布时间:2022-01-06 22:31:30 C#/.NET

在 F# 中处理空值

我需要使用 F# 与一些 C# 代码互操作.Null 是一个可能的值,因此我需要检查该值是否为空.文档建议使用模式匹配: 匹配值|空 ->...|_ ->... 我遇到的问题是原始代码在 C# 中的结构如下: if ( value != null ) {...} 如何在 F# 中执行等效操作?模式匹配是否有空操作?有没有办法用 if 语句检查 null? 解决方案 如果你不想在nu ..
发布时间:2022-01-05 09:49:45 C#/.NET

F# 和 C# lambdas 之间的互操作

F# powerpack 带有一组转换方法,可将 Func 转换为 F# 函数,标准函数或元组函数.但是否有可能实现相反的目标:如果您想从 F# 代码调用一个采用 Func 的 C# 方法,并想使用原生 F# lambda 表达式(例如 fun x -> some_function_of(x))? 如果我将带有签名 'a -> 'b 的 F# 函数发送到需要 Func 的 C# 方法,则 F ..
发布时间:2022-01-05 09:43:49 其他开发

从 C# 调用 F# 代码

我正在玩 F# 和 C#,并想从 C# 调用 F# 代码. 通过在同一个解决方案中有两个项目,并将 C# 代码的引用添加到 F# 项目,我设法让它在 Visual Studio 中以相反的方式工作.完成此操作后,我可以调用 C# 代码,甚至可以在调试时单步执行. 我想要做的是来自 C# 的 F# 代码,而不是来自 F# 的 C# 代码.我向 C# 项目添加了对 F# 项目的引用,但它不 ..
发布时间:2022-01-05 09:37:12 C#/.NET

Git 与 Mercurial 存储库的互操作性

我在 Mac 上使用 GIT.说够了.我有工具,我有经验.我想继续使用它.这里没有战争... 问题始终在于互操作性.大多数人使用 SVN,这对我来说很棒.Git SVN 开箱即用,是一种简洁的解决方案.人们可以继续愉快地使用 SVN,而且我不会丢失我的工作流程和我的工具. 现在...有些人会和 Mercurial 一起来.对他们来说很好:他们有他们的理由.但是我找不到任何开箱即用的 G ..
发布时间:2022-01-04 14:44:55 其他开发

C# C++ 互操作回调

我最近一直在修改 C# 到 C++ 的互操作,特别是设置一个从 C++ DLL 调用的回调函数. 命名空间 TomCSharpDLLImport{课程计划{公共委托无效 TomDelegate(int a, int b);[DllImport("TomDllNative.dll", CallingConvention = CallingConvention.Cdecl)]public stati ..
发布时间:2022-01-03 08:25:34 C#/.NET

通过 Interop/pinvoke 传递 C# 回调函数

我正在编写一个 C# 应用程序,它使用互操作服务访问本机 C++ DLL 中的函数.我已经在使用大约 10 个不同的功能了. 现在我不确定如何处理将回调作为参数传递以便 DLL 可以调用我的代码. 这里是DLL的函数原型: typedef void (WINAPI * lpfnFunc)(const char *arg1, const char *arg2) 以及允许我传递上述类型 ..
发布时间:2022-01-03 08:13:50 C#/.NET

使用 C++ 类成员函数作为 C 回调函数

我有一个 C 库,需要注册一个回调函数来自定义一些处理.回调函数类型为int a(int *, int *). 我正在编写类似于以下的 C++ 代码,并尝试注册一个 C++ 类函数作为回调函数: class A {上市:一个();~A();int e(int *k, int *j);};A::A(){register_with_library(e)}整数A::e(int *k, int * ..
发布时间:2022-01-03 08:06:38 C/C++开发

在 Clojure 中动态访问 Java 字段?

我是 clojure 和 java 的新手. 为了访问 Clojure 中的 Java 字段,您可以执行以下操作: 类名/staticField 与 相同 (.Classname staticField) (如果我错了,请纠正我) 当字段名称保存在变量中时,如何访问静态字段?即: (let [key-stroke 'VK_L键事件键事件/键击]) 我希望 key-stro ..
发布时间:2022-01-02 23:26:10 其他开发

我可以从 C++ 调用 clojure 代码吗?

我正在为用 C++ 编写的程序编写插件. 插件被放置在一个特定的目录中并被主应用程序调用.我想用 Clojure 编写大部分插件(gui、计算等),但是实际的“插件"需要用 C++ 编写.各种数据需要从C++传递到Clojure. 我该怎么做? JNI/JNA、套接字、系统调用?(我知道的不多) 解决方案 我知道这个问题很老,但也许有人觉得这很有用. #include ..
发布时间:2022-01-02 23:15:19 C/C++开发

如何将类型化集合从 clojure 传递给 java?

我知道 clojure/java 互操作的基础知识:从 clojure 调用 java,反之亦然.但是,我无法将类型化集合从 clojure 返回到 java.我试图从调用 clojure 的 java 代码中看到这种性质的 List. Java 对象:公共类 TypedObject {私人其他类型1 _prop1;公共其他类型1 getProp1() {返回_prop1;}public voi ..
发布时间:2022-01-02 23:01:17 Java开发

如何通过 Clojure 互操作访问静态内部 Java 类?

基本上我需要做的是这个 FileChannel.MapMode.READ_ONLY 我尝试做显而易见的事情 (.. FileChannel MapMode READ_ONLY) 但最终会抛出异常 java.lang.NoSuchFieldException: MapMode 即使是在 互操作文档 中指定的用于访问静态字段的 / 符号也会产生同样的异常 (. (FileChannel/ ..
发布时间:2022-01-02 22:48:33 Java开发

Clojure Jython 互操作

我想知道是否有人尝试以某种方式调用 Jython 函数从 Clojure 内部,以及如果是这样,您将如何进行此操作.我有没有使用 Jython,但我想 Jython 解释器可以以与任何其他 Java 代码和 Python 程序相同的方式调用可以在里面运行.但是我想知道是否有可能以某种方式从 Clojure 调用单个 python 函数.就像我说的,我还没有尝试过这个,所以它实际上可能很简单明显的. ..
发布时间:2022-01-02 22:45:05 Python

Monodroid,Java 和 C# 之间的互操作

我们在 Android 下有一个很大的 Java 应用程序(“大"只是意味着翻译应用程序的工作量太大).我们必须访问一个用 .Net 编写的引擎(这个引擎也太“大"了......).这个引擎只是计算. 因此,我们寻求使用 monodroid 的解决方案.我们的主要问题是 monodroid 和 Java 之间的互操作.这时候,我们得到: 从 Mono 应用程序调用 .jar 库中的 J ..
发布时间:2022-01-02 12:15:27 Java开发

Windows Phone 8(仅限 C++) - 可以访问设备制造商吗?

目前正在用纯 C++/Direct3D 开发 Windows Phone 8 应用程序.我们现在需要访问设备制造商名称,但它似乎只能在 C# 下使用,根据我的研究,此类应用程序无法访问该名称. 此页面列出了我想使用的一些调用:http://msdn.microsoft.com/en-us/library/windowsphone/develop/microsoft.phone.info.de ..
发布时间:2022-01-01 12:27:43 C#/.NET

快速访问C变量

我试图访问在 .h 文件中声明的状态变量,但编译器说该变量不存在.我需要在我的桥接头文件中添加任何东西吗? 在我的 swift 文件中,我无法访问 dstate 或 cstate 编译器在 g722_coder_init(&dstate) 行上说“Use of unresolved identifier 'dstate'". 头文件 #ifdef __cplusplus外部“C ..
发布时间:2022-01-01 11:30:21 移动开发

在 *.VBS 文件中导入 WinAPI 函数

在 Excel 中使用 Visual Basic,我可以使用 DECLARE 关键字声明 WinAPI 函数 - 例如 声明函数 SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" ( _ByVal 语言环境只要,ByVal LCType As Long,ByVal lpLCData As String) 作为布尔值 但是,在 *.VBS 文 ..
发布时间:2022-01-01 09:04:10 其他开发

获取应用于通过 COM 接口公开的 C# 属性的 helpstring 属性

我目前正在开发一个库,该库将公开给 COM 以在正在升级的旧项目中使用.我正在创建要公开的接口,并且它们具有 long、int 等类型的属性.使用 DescriptionAttribute,我可以获得在 .tlb 中为接口、类和方法生成的帮助字符串,但由于某种原因,它似乎不想为属性工作.无论如何,是否可以获得在 TLB 输出中为属性生成的帮助字符串? 解决方案 您必须将属性分别放在 get ..
发布时间:2021-12-31 14:53:26 C#/.NET