U8二次开发CO-基于Net8调用COM对象

这篇具有很好参考价值的文章主要介绍了U8二次开发CO-基于Net8调用COM对象。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

以前没有碰过U8,只知道基于Net平台构建,本次业务需求是要把钉钉和U8打通,完成代办和消息提醒。网上搜索U8相关二开资料后发现,都是一些技术片段,零零碎碎的不成体系,也有可能是大客户都去U9或者Cloud了,老旧的8面临过气与替换(个人意见),遂边琢磨边做一些示例。

开始介绍U8的CO二次开发模式之前,先来了解一些基础知识,文末将提供对应的源代码示例包。

COM组件介绍

微软COM(Component Object Model,组件对象模型)是一种面向对象的编程模型,用于创建可重用的软件组件。COM 组件可以通过接口进行交互,这使得它们可以被不同的应用程序使用,无论这些应用程序是用什么编程语言编写的。COM 组件可以在同一进程内或不同进程之间进行通信,从而实现模块化、灵活性和互操作性。

以下是一些关于微软COM组件的关键概念:

  1. 接口(Interface):COM 组件通过接口定义其可用功能。接口是一组抽象方法的集合,用于描述组件提供的功能。客户端应用程序可以通过调用接口方法与组件进行交互。

  2. 类工厂(Class Factory):类工厂用于创建 COM 组件的实例。当客户端应用程序请求创建一个 COM 组件的实例时,类工厂会负责实例化组件并返回对该实例的引用。

  3. GUID(Globally Unique Identifier):每个COM接口和类都有一个唯一的标识符,称为GUID。GUID用于在运行时标识和查找接口和类。

  4. 注册表(Registry):COM 组件通常需要在系统注册表中注册其信息,以便客户端应用程序可以找到并与之交互。注册表包含有关组件的信息,如CLSID(Class Identifier)、ProgID(Programmatic Identifier)等。

  5. 封装性(Encapsulation):COM 组件提供了封装性,允许将实现细节隐藏在组件内部,只暴露必要的接口给外部应用程序。

  6. 版本兼容性(Versioning):COM 组件支持版本兼容性,允许不同版本的组件在同一系统中共存,并确保向后兼容性。

  7. 线程安全性(Thread Safety):COM 组件可以设计为线程安全的,以便在多线程环境中安全地使用。

通过使用COM,开发人员可以创建可重用、模块化的组件,提高代码的复用性和可维护性。COM 组件可以用于开发各种类型的应用程序,包括桌面应用(U8)、服务器应用、Web 应用等,并促进不同技术和平台之间的互操作性。使用COM技术就意味着只能在Windows平台上实现应用和开发,不具备跨平台特性。文章来源地址https://www.toymoban.com/news/detail-851077.html

COM组件常规C#

到了这里,关于U8二次开发CO-基于Net8调用COM对象的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • webSocket基于面向对象二次封装

    今天不睡,熬夜赶了个WebSocket 二次封装,也对这几天文章摸鱼感到抱歉,所以我出了一个注释非常非常全的代码 思路如下 首先,需要通过调用connect方法来建立WebSocket连接。当连接成功时,会调用我提供的回调函数,并将连接成功的消息帧作为参数传递给它。在回调函数中,我们

    2024年02月05日
    浏览(27)
  • 在NET8中使用简化的 AddJwtBearer 认证

    系统版本: win10 .NET SDK: NET8 开发工具:vscode 参考引用:使用 dotnet user-jwts 管理开发中的 JSON Web 令牌 注意:以下示例中的端口、token等需替换成你的环境中的信息 运行以下命令来创建一个空的 Web 项目,并添加 Microsoft.AspNetCore.Authentication.JwtBearer NuGet 包: 将 Program.cs 的内容替

    2024年02月05日
    浏览(29)
  • .NET8依赖注入新特性Keyed services

    什么是Keyed service Keyed service是指,为一个需要注入的服务定义一个Key Name,并使用使用Key Name检索依赖项注入 (DI) 服务的机制。 使用方法 通过调用 AddKeyedSingleton (或 AddKeyedScoped 或 AddKeyedTransient)来注册服务,与Key Name相关联。或使用 [FromKeyedServices] 属性指定密钥来访问已注册

    2024年02月05日
    浏览(39)
  • 2.ObjectArx .NET 二次开发入门(CAD 2016)

    愿你出走半生,归来仍是少年!  目录 1. 环境准备 1.1 ObjectArx .NET 1.2 VS安装  1.2.1 CAD与Visiul Studio版本对照  1.2.1 Visiul Studio2022关于.NET 4.5的处理 2.Hellow World 2.1新建项目 2.2加载依赖 2.3 编写第一个命令 2.4 生成、加载并测试         开发这事情,本着有新的肯定用新的思想,

    2024年02月11日
    浏览(24)
  • .Net8顶级技术:边界检查之IR解析(二)

    IR技术应用在各个编程语言当中,它属于JIT的核心部分,确实有点点麻烦。但部分基本明了。本篇通过.Net8里面的边界检查的小例子了解下。前情提要,看这一篇之前建议看看前一篇:点击此处,以便于理解。 1.前奏 先上C#代码: Test函数经过Roslyn编译成IL代码之后,会被JIT导

    2024年02月06日
    浏览(34)
  • .NET8 和 Vue.js 的前后端分离

    在.NET 8中实现前后端分离主要涉及到两个部分:后端API的开发和前端应用的开发。后端API通常使用ASP.NET Core来构建,而前端应用则可以使用任何前端框架或技术栈,比如Vue.js、React或Angular等。下面是一个简化的步骤指南,帮助你在.NET 8中实现前后端分离。 下面是一个简单的示

    2024年04月10日
    浏览(30)
  • NX二次开发 Block UI 选择对象

    文章作者:里海 来源网站: https://blog.csdn.net/WangPaiFeiXingYuan 目录 设置选择模式,单选、多选 设置选择范围

    2024年02月15日
    浏览(28)
  • AutoCAD二次开发(ObjectARX/.NET) 多版本开发包兼容性

    文章来源:General Development Compatibility 一般开发兼容性 (ObjectARX/.NET) - 中文CAD开发文档,CAD二次开发问题交流,优秀插件分享  产品发布 二进制兼容版本 支持的开发环境 AutoCAD 2021 AutoCAD 2021 Windows Visual Studio 2019 Mac OS(10.13 或更高版本) Xcode : 10.2.1 Mono : 5.20.1.19 AutoCAD 202

    2024年01月20日
    浏览(34)
  • .NET8 Blazor的Auto渲染模式的初体验

    .NET8发布后,Blazor支持四种渲染方式 静态渲染,这种页面只可显示,不提供交互,可用于网页内容展示 使用Blazor Server托管的通过Server交互方式 使用WebAssembly托管的在浏览器端交互方式 使用Auto自动交互方式,最初使用 Blazor Server,并在随后访问时使用 WebAssembly 自动进行交互式

    2024年02月05日
    浏览(35)
  • NET8 ORM 使用AOT SqlSugar 和 EF Core

    .Net8的本地预编机器码NET AOT,它几乎进行了100%的自举。微软为了摆脱C++的钳制,做了很多努力。也就是代码几乎是用C#重写,包括了虚拟机,GC,内存模型等等。而需要C++做的,也就仅仅是引导程序,本篇通过代码来看下这段至关重要的引导程序的运作模式。      SqlSugar已经

    2024年02月05日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包