分类: C#

10 篇文章

thumbnail
C#二次封装库函数自动生成
实现结构体与枚举返回给python 度申提供的C#封装库中的函数返回值是多种多样的,如果直接返回相应类型,在python中是接收不到的,并且会报错。但字符串和整型可以正常返回给python,一个相当然的想法就是:能不能将函数返回的结构体变成字符串,将函数返回的枚举变成整型,再返回给python?经过实践,证明确实是可行的。 C#返回结构体给pyth…
thumbnail
度申C#库自动生成Python API函数接口
前言 在度申提供的SDK中有一个XML文件,里面详细说明了C#库中各个API接口的功能、参数、返回值 API接口都定义在DVPCamera这个类中,大概有2000多行,200多个接口 思路 由于Python是弱类型的语言,不需要类型定义,于是这就为自动转换提供了方便,观察C#的接口结构,可以将信息分为以下几类:函数功能说明,形参英文变量名,形参中文…
thumbnail
C#生成DLL库,在Python中调用
安装DVP2 SDK,得到SDK DLL库 安装驱动程序,得到必须的几个DLL库 驱动程序网址: http://www.do3think.com/software/ 下载完成后安装该驱动程序: 得到如下DLL库: 这几个DLL库需要放到C#程序的DEBUG目录中,或者python项目的根目录中,不然完全不能加载库函数。 在C# 中引用DVPCame…
C#中的#if
如果 C# 编译器遇到最后面跟有 #endif 指令的 #if 指令,则仅当指定的符号已定义时,它才会编译这两个指令之间的代码。 与 C 和 C++ 不同,您不能对符号赋予数值;C# 中的 #if 语句是 Boolean,仅测试符号是否已定义。 例如, #define DEBUG // ... #if DEBUG Console.WriteLine…
C#编程基础五
多线程 线程被定义为程序的执行路径。每个线程都定义了一个独特的控制流程。如果应用程序涉及复杂和耗时的操作,那么设置不同的执行路径或线程通常有助于每个线程执行特定的作业。 线程是轻量级的进程。使用线程的一个常见示例是通过现代操作系统实现并发编程。使用线程节省了CPU周期并提高了应用程序的效率。 到目前为止,我们编写了单个线程作为单个进程运行的程序,它…
C#编程基础四
操作Windows文件系统 文件是存储在具有特定名称和目录路径的磁盘中的数据的集合。当文件打开以进行读取或写入时,它将成为流。 流基本上是通过通信路径的字节序列。有两个主要流:输入流和输出流。输入流用于从文件读取数据(读取操作),输出流用于写入文件(写入操作)。 C# I/O类 System.IO命名空间具有各种类,用于执行许多文件操作,例如:创建…