首页 > 编程语言 >Python中调用C#的dll库

Python中调用C#的dll库

时间:2024-04-15 14:34:03浏览次数:20  
标签:__ MyCsharpDLL Python dll C# Print

Python中调用C#的dll库

1、创建C#的dll库。dll名称为MyCsharpDLL.dll,下面是dll里面的代码

using System;
 
namespace MyCsharpDLL
{
    public class Test
    {
        public void Print()
        {
            Console.WriteLine("Hello world!!!");
        }
 
        public void Print(string msg)
        {
            Console.WriteLine($"Hello {msg}!!!");
        }
 
        public double Add(double x, double y)
        {
            return x + y;
        }
    }
}

2、通过在Python中调用clr(pythonnet中工具)来对C#的dll库进行加载使用,下面是Python调用C#里面方法的代码

import os
import clr
import sys
sys.path.append(os.getcwd())
 
# 读取DLL文件
clr.FindAssembly("MyCsharpDLL.dll")
dll = clr.AddReference("MyCsharpDLL")
 
print(dll)
 
from MyCsharpDLL import *
 
def print_hi(name):
    # 实例化类
    instance = Test()
    # 无输入及无返回
    instance.Print()
    # 有输入及无返回
    instance.Print("lqwvje")
    # 有输入及输出
    add_data = instance.Add(1, 1)
    print(add_data)
 
# 按间距中的绿色按钮以运行脚本。
if __name__ == '__main__':
    print_hi('PyCharm')

标签:__,MyCsharpDLL,Python,dll,C#,Print
From: https://www.cnblogs.com/HeroZhang/p/18135895

相关文章

  • postgres docker安装
    docker-compose文件version:'3.1'services:db:image:postgres:15container_name:odoo16_dbrestart:always#总是重新启动容器environment:-POSTGRES_DB=postgres#设置数据库名称为postgres-POSTGRES_PASSWORD=odoo#设置数......
  • 抗干扰液晶驱动抗静电LCD驱动-VK2C24液晶驱动芯片原厂
    VK2C24是一个点阵式存储映射的LCD驱动器,可支持最大288点(72SEGx4COM)或者最大544点(68SEGx8COM)或者最大960点(60SEGx16COM)的LCD屏。单片机可通过I2C接口配置显示参数和读写显示数据,也可通过指令进入省电模式。其高抗干扰,低功耗的特性适用于水电气表以及工控仪表类产品。L23+01特点:•......
  • 洛谷题单指南-数学基础问题-P4057 [Code+#1] 晨跑
    原题链接:https://www.luogu.com.cn/problem/P4057题意解读:给定三个数,计算其最小公倍数。解题思路:三个数a、b、clcm(a,b,c)=lcm(lcm(a,b),c)100分代码:#include<bits/stdc++.h>usingnamespacestd;typedeflonglongLL;LLa,b,c;LLgcd(LLa,LLb){i......
  • C3P0反序列化链分析
    前言C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。使用它的开源项目有Hibernate、Spring等。之前有接触到过,但是没有深入了解,像之前学二次反序列化时,WrapperConnectionPoolDataSource就是C3P0的环境搭建<dependency><groupId>com.......
  • UnSafe CAS 操作
    UnSafe目录UnSafe乐观锁compareAndSwapIntgetObjectVolatileputObjectobjectFieldOffset乐观锁CAS原子操作compareAndSwapInt从var1对象的起始指针移动var2位,如果该位置上存储的值等于var4,那么将该值修改成var5var1比较对象var2指针偏移量var4条件值var5新值......
  • Docker部署TD库
    Linux命令查看Linux系统版本出现上图代表Centos操作系统安装Docker使用的软件是MobaXterm连接远程服务器//安装需要的软件包yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2//设置阿里镜像源yum-config-manager--add-repohttp://mirrors.aliyun.com/d......
  • P2922 [USACO08DEC] Secret Message G
    原题链接题解1.这个前缀长度必须等于暗号和那条信息长度的较小者,因此,找出信息是暗号的前缀的信息和暗号是信息的前缀的信息code#include<bits/stdc++.h>usingnamespacestd;inttree[500005][2]={0};intjg[500005]={0};intjs[500005]={0};intmain(){intm,n......
  • el-table-column自定义实现el-tooltip效果
    说明使用el-table-column自定义某列内容为左侧展示商品图片,右侧展示商品标题以及id,商品标题超过两行显示省略号,并且鼠标移入在上方显示完整。界面展示template...<el-table-columnlabel="商品信息"prop="title"min-width="200"><template#default="scope"><div......
  • BinGoo系列之Socket组件《三、客户端+服务端组件的封装》 控件版(转)
    简介:继【C#原生Socket网络通讯】BinGoo系列之Socket服务端+客户端 之后,进一步封装的原生socket网络通讯组件。在此之前的版本还是要写一部分绑定委托事件代码,新版通讯类库将所有的消息机制全部封装成事件。只需拖动组件至窗体,直接双击组件注册事件,无需再写有关socket的代码,......
  • LangChain轻松入门和开发实践
    LangChain是一个开发语言模型应用的框架。LangChain能够简化开发与语言模型工作流中的复杂部分,帮助开发人员能够更轻松地进行开发,并定制满足需求的应用。LangChain有两大优点,一是它能将外部数据,如文件、其他应用、API数据等,无缝地集成到语言模型中;二是它通过代理功能,让语言模型......