开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 8717|回复: 26
打印 上一主题 下一主题
收起左侧

[易源码分享] 易语言调用C#dll例子

[复制链接]

结帖率:100% (17/17)
跳转到指定楼层
楼主
发表于 2019-4-13 13:00:55 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式   海南省海口市
分享源码
界面截图: -
是否带模块: -
备注说明: -
先通过vs2017 编写c#代码 主要主要程序集com可见属性开启 注意点看下面代码以及图片,附上c#和e代码 demo.zip (189.14 KB, 下载次数: 159)

这个是易语言调用的代码


  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
RegAsm目录文本型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
dll目录文本型 
RegAsm目录 = 取文本zc项 ( #本地机器, “SOFTWARE\Microsoft\.NETFramework\InstallRoot”, )
RegAsm目录 = RegAsm目录 + “v4.0.30319\RegAsm.exe”
调试输出 (RegAsm目录)
如果 (文件是否存在 (RegAsm目录))
dll目录 = 取特定目录 ( #我的文档 )
调试输出 (dll目录 + “Get.dll”)
写到文件 (dll目录 + “Get.dll”, #图片1 )
运行 (RegAsm目录 + “ ” + dll目录 + “Get.dll”, 假, #隐藏窗口 )
运行 (RegAsm目录 + “ ” + dll目录 + “Get.dll /codebase”, 假, #隐藏窗口 )
信息框 (“系统环境不正确,确认是否安装了.net4.0”, 0, )

调试输出 (取随机字符串 ())
子程序名返回值类型公开备 注
取随机字符串文本型 
变量名类 型静态数组备 注
object对象 
如果 (object.创建 (“Get.Rand”, 取运行目录 ()“\Get.dll”))
' object.查看 ()
返回 (object.通用方法 (“Getrand”, ).取文本 ())
返回 (“创建对象失败!检查DLL是否在目录下!”)


i支持库列表   支持库注释   
spec特殊功能支持库
shell操作系统界面功能支持库


这个是c# dll代码
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Runtime.InteropServices;
  6. namespace Get
  7. {
  8.     public interface IRand
  9.     {
  10.         string Getrand();

  11.     }
  12.     [ClassInterface(ClassInterfaceType.None)]
  13.     public class Rand:IRand
  14.     {


  15.         public String Getrand()
  16.         {
  17.             int v9 = 2;
  18.             int v2 = new Random().Next(9) + 8;
  19.             String v6 = "";
  20.             Random v4 = new Random();
  21.             int v1;
  22.             for (v1 = 0; v1 < v2; ++v1)
  23.             {
  24.                 String v0 = v4.Next(v9) % 2 == 0 ? "char" : "num";
  25.                 if ("char".Equals(v0))
  26.                 {
  27.                     int v5 = v4.Next(v9) % 2 == 0 ? 65 : 97;
  28.                     v6 = v6 + (((char)(v4.Next(26) + v5)));
  29.                 }
  30.                 else
  31.                 {
  32.                     if (!"num".Equals(v0))
  33.                     {
  34.                         v6 = v6 + v4.Next(10).ToString();
  35.                     }

  36.                 }
  37.             }

  38.             return v6;
  39.         }

  40.     }
  41. }
复制代码

评分

参与人数 3好评 +3 精币 +10 收起 理由
易语言资源网 + 1 + 5 支持开源~!感谢分享
精易客服 + 1 + 5 感谢分享,很给力!~
橙_子 + 1 支持开源~!感谢分享

查看全部评分


结帖率:100% (1/1)

签到天数: 19 天

27
发表于 2025-1-9 15:53:08 | 只看该作者   浙江省宁波市
易语言调用C#dll例子
回复 支持 反对

使用道具 举报

结帖率:100% (20/20)

签到天数: 3 天

26
发表于 2024-9-4 09:48:53 | 只看该作者   安徽省亳州市
感谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (20/20)

签到天数: 3 天

25
发表于 2024-9-4 09:47:08 | 只看该作者   安徽省亳州市
下载看看
回复 支持 反对

使用道具 举报

结帖率:99% (509/514)

签到天数: 14 天

24
发表于 2024-6-23 18:16:09 | 只看该作者   重庆市重庆市
netcore 好像不能用这个方法? 我在配置页面中没找到COM相关的选项,然后直接编译后,调用提示:创建对象失败!检查DLL是否在目录下!” 请问有解决方法吗?
回复 支持 反对

使用道具 举报

结帖率:38% (11/29)
23
发表于 2022-5-9 09:55:48 | 只看该作者   河南省郑州市
        感谢分享,很给力!~
回复 支持 反对

使用道具 举报

22
发表于 2021-5-29 21:18:44 | 只看该作者   河南省郑州市

回帖奖励 +1 枚 精币

学习学习
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)
21
发表于 2020-12-6 13:20:53 | 只看该作者   广西壮族自治区南宁市

回帖奖励 +1 枚 精币

受用颇深,谢谢
回复 支持 反对

使用道具 举报

结帖率:67% (2/3)
20
发表于 2020-7-5 22:36:23 | 只看该作者   上海市上海市

回帖奖励 +1 枚 精币


支持开源~~
回复 支持 反对

使用道具 举报

结帖率:100% (5/5)
19
发表于 2019-10-25 23:33:06 | 只看该作者   贵州省六盘水市

回帖奖励 +1 枚 精币

挺牛,就是我调用我自己的dll的时候查看不知道为什么就是0方法
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表