首页 > 编程语言 >C#的基于.net framework的Dll模块编程(四) - 编程手把手系列文章

C#的基于.net framework的Dll模块编程(四) - 编程手把手系列文章

时间:2024-04-28 09:33:28浏览次数:26  
标签:函数 C# 编程 Dll 静态 窗体 库里 命名

       这次继续这个系列的介绍:

 

  一、命名空间的起名;

  对于C#来说,一般命名空间的建议是:公司名(或个人名称).产品名.分类名,比如我这边是用的这个:Lzhdim.LPF.Helper,意思是个人名Lzhdim,加上LPF为平台名,加上Helper分类为帮助类,其它的更长的请读者自己添加。

   

 

  二、Dll库里的内容;

  下面介绍Dll库里的代码内容:

  1. 静态类;一些函数方法

  最常见的库里的内容就是静态类了,这些类提供了一些读者封装的函数,主要以提供函数为主。使用方法也很简单,先声明命名空间,然后直接输入静态类名,用点号,然后就会显示该静态里里的函数了。

   

  比如这里新建了一个Helper库,然后添加分类目录StaticDll,然后新建一个类,命名为StaticDllHelper。

   

   

  然后,在静态类里添加代码:

   

       这里新建了一个静态类,命名为StaticDllHelper,还定义了一个静态函数TestDllHelper,注意这里添加了static 声明该函数为静态函数。

 

  1. 动态类;一些对象

  动态类一般为类定义,为对象的模板。笔者这里的建议是,一般动态类直接定义对象,只声明属性,至于该对象的操作,放到静态类里去进行。当然这个是笔者的建议,对于动态类,具有类的特性,一般为封装、继承、多态。下面为一个对象的模板,参考前面新建一个Lzhdim.CharpDll.Module类库,然后添加动态类AppConfigModule:

   

   

 

       这里有个例子:

  1) 引用该Module库;

   

  2) 声明命名空间;

  在顶部using声明该库。

   

  3) 使用该Moudle库;

  在上面的例子里,在静态库里的函数中使用该Moudle并进行操作。

  下面就用New了一个对象,这里能够直接设置该对象里属性的值。

   

 

  1. 窗体;自定义的窗体

  在类库中,还有一种就是类库里定义的窗体。这里也好理解,就是在类库中定义窗体,然后在其它库或应用里进行调用。只需要声明命名空间,然后就能够New一个窗体进行操作了。

   

  注意这里需要引用System.Drawing和System.Windows.Forms这两个库。

   

      

 

       这里调用该窗体。

  1) 只能在EXE应用类里进行调用;

   

   

  2) 需要New一个窗体;

  声明命名空间;New窗体,然后显示。

   

 

标签:函数,C#,编程,Dll,静态,窗体,库里,命名
From: https://www.cnblogs.com/lzhdim/p/18148890

相关文章

  • ocelot系列文章02---在.netcore项目中集成
    1、创建项目并引入安装包首先,创建2个WebApi项目,WebApi01和WebApi02,地址分别https://localhost:44313和https://localhost:44390,其中WebApi01当作网关,WebApi02当作具体的微服务Api。然后,将Ocelot的NuGet软件包安装到WebApi01项目中。注意我这里安装的是17.0.0版本,配置方面会有点......
  • [pwn]XYCTF 2024 个人WriteUp
    目录XYCTF2024WriteUp>pwn1.hello_world(签到)2.invisible_flag3.static_link由于本人菜鸡和时间问题,只打了前两周,打出了pwn的三道简单题目,记录自己的做题过程,如何后续复现可能也会更新。XYCTF2024WriteUp>pwn1.hello_world(签到)常规checksecIDA反编译进入主函数发......
  • MBIST和BISR+循环移位和强制转换+verdi操作+vip需要disable auto recording+vim设置某
    MBIST和BISRhttps://blog.csdn.net/liubin1222/article/details/103995449https://zhuanlan.zhihu.com/p/161185302进行内存修复需要两步:首先在可修复内存测试期间,由MBIST控制器诊断出的故障。第二步是修复内存,确认修复签名。可修复的存储器都有带修复签名的寄存器。MBIST(Me......
  • Ocelot系列文章01---简介
    一、项目简介Ocelot是一个用.NETCore实现并开源的API网关,它功能强大,包括了:路由、请求聚合、服务发现、认证、鉴权、限流熔断、并内置了负载均衡器与ServiceFabric、Consul集成。1、请求转发地址配置通过在json文件简单配置,就可以实现简易的网关,它可以接受所有客户端的请求,并......
  • Java中的读写锁ReentrantReadWriteLock详解,存在一个小缺陷
    写在开头最近是和java.util.concurrent.locks包下的同步类干上了,素有并发根基之称的concurrent包中全是精品,今天我们继续哈,今天学习的主题要由一个大厂常问的Java面试题开始:小伙子,来说一说Java中的读写锁,你都用过哪些读写锁吧?这个问题小伙伴们遇到了该如何回答呢?心里琢磨去......
  • 使用dmesg发现程序出现Out of memory的Case
    dmesg(displaymessage)是Linux和Unix系统中的一个命令行工具,用于显示内核与系统硬件交互的消息。运行此命令可能会显示一些关于系统错误或崩溃的信息:我使用了下面命令,dmesg-T|tail参数说明:-T:显示人类可读的时间戳,而不是默认的自系统启动以来的秒数。发现了下面情况:[Fri......
  • Excel文本转公式
    FunctionEval(RefAsString)Application.VolatileEval=Evaluate(Ref)EndFunctionSUBSTITUTE函数在Excel中用于将文本字符串中的一部分替换为其他字符串。它的语法如下:SUBSTITUTE(text,old_text,new_text,[instance_num])其中:text是要进行替换操作的原......
  • centos 设置登录失败策略
    策略要求一在一个小时内用户累积失败5次后账户被锁定600秒(10分钟)。账户在锁定期间正确密码也无法登录。password-auth#%PAM-1.0#Thisfileisauto-generated.#Userchangeswillbedestroyedthenexttimeauthconfigisrun.authrequiredpam_env.so#......
  • scPagwas-gwas data pruning的处理-inhouse 【未完成整理】
    总共三个大步骤:step1:提取503例EUR-Sample的1000G.EUR.QC.chr,通过python脚本批量跑plink得到step2:提取my-MDD中SNP的1000G.EUR.QC.chr-sub-chr,通过python脚本批量跑plink得到step3:进行pruning,得到MDD.chr*_plink_prune_EUR_filtered_LD0.8.prune.in,通过python脚本批量跑pli......
  • A written script
    In221BCE,I-QinshihuangbecametheFirstEmperorofChina.AstorytellertoldmeaninterestingtaleaboutNuwa,theGreatMother Goddess.Thenanideaappearedinmymind.Iwas determined tofindtheloststone.Soitwouldhelpmebuildastrongempi......