C#动态选择调用某个指定内部函数

Python中动态调用C#的dll动态链接库中方法 【不同语言程序之间调用】Python中动态调用C#的dll动态链接库中方法 阅读详情

C#动态选择调用某个指定函数的方法:

        private void Btn_Execute_Click(object sender, EventArgs e)
        {
            if (T_Functions.Text.Length == 0)
            {
                MessageBox.Show("Pls choice function.");
                return;
            }

            Type type = this.GetType();
            MethodInfo mi = type.GetMethod(T_Functions.Text);
            object[] objParams = null;

            switch (T_Functions.Text)
            {
                case "TestFunction01":
                    objParams = null;
                    break;

                case "TestFunction02":
                    if (T_Params.Text.Length == 0)
                    {
                        MessageBox.Show("This function need one param.");
                        return;
                    }
                    objParams = new object[1];
                    objParams[0] = T_Params.Text;
                    break;
            }

            T_Result.Text = (string)mi.Invoke(this, objParams);
        }

        public string TestFunction01()
        {
            return "TestFunction01";
        }

        public string TestFunction02(string sMsg)
        {
            return "TestFunction02 - " + sMsg;
        }


其中,T_Functions.Text为一个ComboBox,可以选择两个函数,TestFunction01和TestFunction02



C#动态调用DLL中的函数 一般使用方法 [System.Runtime.InteropServices.DllImport("E:\\Project\\DLL\\XXX.dll", EntryPoint = "OpenComm", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl)] public static extern int 阅读详情

相关推荐

C# 中动态调用C++动态链接

之前的文章中讲述过从DLL中导出变量,其中包括了静态加载和动态加载。C#调用C++动态链接库同样分为静态加载和动态加载。fellen的博客“WPF中使用MFC动态链接库(dll)函数”中讲述的是如何C#静态加载DLL,即需要将C++代码编译生成的Dll放在C#程序的Bin目录下,并在引入函数的位置加入[DllImport(“xxx.dll”)] 。由于Dll路径的限制,使用的不是很方便,C#中我们经

一蓑烟雨任平生 也无风雨也无晴 4767

C#动态创建类实例并动态调用指定的函数

C#动态创建类实例并动态调用指定的函数

Python的专栏 5046

C#下对Dll函数的动态调用.

今天蛋疼试验了下这方面的东东...试图着在.net下像在C++里一样载入一个Win32dll后调用它的函数. 当然,要实现这样的功能.LoadLibrary和GetProcAddress是必须的.于是乎先写出了这样的声明: [DllImport("kernel32.dll", CharSet = CharSet.Auto)] static extern IntP

兔子窝 1812

C# 动态调用方法

此篇将介绍C#如何在运行时动态调用方法。当某些类型是运行时动态确定时,编译时的静态编码是无法解决这些动态对象或类的方法调用的。此篇则给你一把利剑,让动态对象的方法调用成为可能。 1.动态调用dll里的方法 [csharp] view plain copy  print? "font-family:SimSun;font-size:12px;">/

Sayesan的专栏 6210

C# 调用dll以及内置dll到exe内部

     包含以下几块,如果没你需要的东西,可以继续赶路了      1: C# 对的dll的两种调用      2: dll包含到exe中      3:dll的函数原型获取     最近听闻人到中年的比尔盖茨收购了github并免费了私有的代码仓库,不由的给他点了一波赞,然后嘛就顺手把一个小项目用C#重写了一下,毕竟自从net开源了mono和.net core后,以后做gui也可以用C...

godvmxi的专栏 1962

C#动态调用C++接口

有些场景需要用到C#调用C++编译的接口,这就要使用[DllImport]直接调用,该[DllImport]所在的名字空间为using System.Runtime.InteropServices;当我们得到一个C++的DLL接口时,我们可以使用[DllImport]调用该DLL就得知道DLL的接口,传入的参数、传出的参数、入口函数。(包括DLL的路径) 如: [DllImport(@"\..\....

weixin_44548643的博客 2714

【C#编程辅助】可动态配置的函数参数调用实现

源起: 经常使用编写单元测试,经常更改函数参数的传值,通过ParamsBuild配合配置文件配置就可以做到函数参数值可配置。因参数经常是一段有效的数值区间,于是添加了参数的区间、补充、格式化等功能。方便缩写的命名空间导入 1usingSystem; 2usingSystem.Xml.Serialization; 3usingSystem.Text.RegularExpressio...

weixin_30770495的博客 798

C# 动态调用WebService

<br /> <br />在C#程序中,若要调用WebService,一般是采用"添加Web引用"的方式来实现的。但如果此WebService的URL是在程序运行过程中才能获得的,那怎么办呢?那就必须是"动态"调用这个WebService了。<br /> <br />网上有不少关于这方面的例子,总结了一下,主要有两种:(1)每次都动态调用,(2)将WebService生成为一个本地的DLL,生成客户端的实例。<br /> <br />第一种方法:<br />我把它放到一个叫WebServiceHelper.

初夏木香 静谧 2万+

C#调用C++动态库

在C#开发过程中,我们可能会遇到需要调用Windows API 或是第三方库的场景,然而有时候这些库是由C++编写的,并不能直接应用在C#的程序中,这为开发带来许多阻力。本文介绍两种使用C#调用C++动态库的方式,以及在这个过程中可能遇到的问题,看完之后会对你的困境有所帮助。

weixin_44445770的博客 6171

【unity调用c++动态库,c++和c#相互调用】

在Unity中调用C++动态库并进行回调到C#的功能实现,涉及到C++与C#之间的交互。这个过程的关键是通过P/Invoke(平台调用)来在C#中调用C++函数,并通过DllImport指定C++动态库的路径和接口。通过这种方式,你可以实现Unity与C++之间的互操作。C++调用C#的回调函数是通过动态链接库(DLL)和P/Invoke机制实现的。你可以根据实际需要扩展C++的功能和C#回调的复杂度,创建更复杂的交互逻辑。

安东尼的博客 1838

C++调用C#动态库

一、编写C#的.dll文件 namespace Mylib { public class Test { [DllExport("Testdll", CallingConvention = CallingConvention.Cdecl)] public static unsafe string Testdll(int** obj) ...

mac的博客 4168

C#动态调用C++编写的DLL函数

[C#动态调用C++编写的DLL函数]        by jingzhongrong  2008-05-08动态加载DLL需要使用Windows API函数:LoadLibrary、GetProcAddress以及FreeLibrary。我们可以使用DllImport在C#中使用这三个函数。 [DllImport("Kernel32")]public static

jingzhongrong 5394

C#调用C函数的方法

 C#调用C函数的方法: 方法一: 1.新建Visual C++类型的Win32项目C语言的函数定义如下:extern "C" __declspec(dllexport) int fnTestWin32(void);实现如下extern "C" __declspec(dllexport) int fnTestWin32(void){ return 42;}工

皮业勇的技术专栏 1万+

C#调用动态DLL

vs2017生成动态链接库: https://blog.youkuaiyun.com/qq_23229787/article/details/87786373 C#调用动态链接库方法 [DllImport("mydll.dll")] public static extern int Add(int a,int b); private void btn_add_Click(object sender...

大棒棒猪的博客 1万+

C#静态调用C++ dll,动态调用C++ dll和C++调用C# dll

最近碰到有关C#调用MFC dll的问题,查了很多资料,参考了不少的网上博客,做了如下总结,C#动静态调用C++ dll,C++调用C#dll。也算一个简单的自我整理,有问题也请提出来,共同进步。 C# 静态调非托管C++ dll  1)C++ dll中含代码     extern "C" __declspec(dllexport) int Add(int a,int b) {return

qq_22562763的博客 2194

C#动态调用DLL并对目标函数传递参数

引用改网友的 https://download.youkuaiyun.com/download/jackeywjf/1521390 看懂后对其改进和中文注释,C#动态调用DLL并对目标函数传递参数

C#调用C++动态库接口函数和回调函数

当前C++已经写好了一个动态库,完成了产品开发需求,C#需要调用C++编写的动态库DLL接口,开发出完整的软件,DLL动态库里包含了普通接口函数,回调函数。

2301

鲁棒优化入门(6)—Matlab+Yalmip两阶段鲁棒优化通用编程指南(上)

Matlab+Yalmip两阶段鲁棒优化通用编程指南(上篇),内容包括: ①.拿到一个复杂的两阶段鲁棒优化问题的分析步骤和方法。 ②.采用Yalmip工具箱中的uncertain函数和鲁棒优化模块求解两阶段鲁棒优化的子问题。 ③.Yalmip工具箱中的鲁棒优化模块和常规的求解思路有什么异同。 ④.使用KKT条件求解两阶段鲁棒优化的子问题,并使用C&CG算法进行迭代求解。

配电网和matlab的博客 1万+
上一篇: C#二进制数组的字符串形式转换为二进制Byte数组
下一篇: C#动态编译代码并执行
Python
博客等级 码龄26年 1973粉丝 1567原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值