C#
lifei_0001
耕种的老农
展开
-
C#进程运行权限
环境说明: VS2012,windows 7 亲自验证过win7 和xp ,XP直接不弹框,因为XP没有UAC控制机制步骤1:右键项目--》属性--》安全性--》选中【启用ClickOnce安全设置】此时在我们的项目下Properties目录下多了个叫 app.manifest 的文件步骤2:文件里面的代码如下,我们只需要将以下这句更改了即可<requestedExecutionLevel level="asInvoker" uiAccess="false" />..转载 2021-10-19 14:16:24 · 459 阅读 · 0 评论 -
Swig 对C++运算符重载、模板编程、STL的处理
目录一、SWIG运算符重载二、模板编程三、STL一、SWIG运算符重载运算符重载技术上和其他函数重载没什么区别。区别在于运算符实际调用的函数名不同。C++调用的实际上是operator 加运算符,比如operator+。那么问题是其他语言的运算符实际上很多都不是这样的,比如Python,他的“+"号运算符实际上是__add__。这可咋整?SWIG里可以用rename对运算符重命名,命名成目标语言对应的名字。%module RobSoft%{ #include "*.h"%}原创 2020-05-20 14:21:52 · 877 阅读 · 1 评论 -
将xml嵌入程序中
我想将关于我的DLL的配置信息存储在我的DLL内的XML文件中,即如果需要进行更改,则必须重新编译DLL.原因是因为它的格式优雅,我可能不会使用此DLL的配置文件.有任何想法吗?我真的希望能够在Visual Studio中编辑一个xml然后编译它,只在输出中看到一个DLL.解决方法是 – 包含它作为嵌入式资源(即在Visual Studio中的项目的属性中使用该设置),然后使用Assembly.GetManifestResourceStream来读取它.我一直这样做单元测试数据.如你..原创 2020-05-15 13:59:25 · 175 阅读 · 0 评论 -
SWIG 生成C#中继承、模板
SWIG对C#的支持好像还不太好,有时需要手动修改一些地方。1. 模板类。貌似不支持模板类的转化。在生成的*.cxx文件中,有些用到模板类的地方需要手动将命名空间加上。2. 命名空间SWIG将所有的接口都放在了定义的模块命名空间下。3. 继承关系文档上讲支持单继承,不支持多重继承,但是在使用的过程中感觉有些类的继承是有的,有些生成类就不包含继承。我的处理方法是在生成类的...原创 2020-04-20 14:02:11 · 569 阅读 · 1 评论 -
C#代码规范
目的 1.方便代码的交流和维护。 2.不影响编码的效率,不与大众习惯冲突。 3.使代码更美观、阅读更方便。 4.使代码的逻辑更清晰、更易于理解。在C#中通常使用的两种编码方式如下 Camel(驼峰式): 大小写形式-除了第一个单词,所有单词第一个字母大写,其他字母小写。 Pascal(帕斯卡): 大小写形式-所有单词第一个字母大写,其他字母小写。C#代码规...转载 2020-04-03 14:31:13 · 271 阅读 · 0 评论 -
C#/C++ List传数组
C#中使用List<T>来和C++之前传送数组。microsoft对IList的描述在C++的托管中使用Collections::IList^ 与C#中的List<T>映射。//声明int testVect(Collections::IList^ vecArray);//定义int dllForCS::robotServer::testVect(Col...原创 2020-01-08 14:02:27 · 3597 阅读 · 0 评论 -
C++/C# 数组传参
托管C++可以将数组作为输入/输出参数。clr封装C++托管接口时,可以使用cli::array<>作为输入参数,而且C#可以获取到C++修改后的数组内容。array数组原型: [qualifiers][cli::]array<[qualifiers]type[,dimension]> ^var;我们只关注下模板参数:type托管数组元素的类型名。可选...原创 2020-01-06 17:16:30 · 3463 阅读 · 0 评论