首页 > 编程语言 >C# 接口隔离,反射 2023年11月20日

C# 接口隔离,反射 2023年11月20日

时间:2023-11-24 12:33:05浏览次数:38  
标签:11 20 C# 接口 接口隔离 枚举 泛型 partial lambda

1.1接口隔离

image

接口的隔离, 对''胖'接口进行拆分
单一职责原则

接口的显示接口实现(c#独有的语言特性)

image

dependencyInjection, 依赖注入框架包
适当使用接口

泛型,partial类,枚举,结构

image

泛型:泛化数据类型
泛型的特化: 指定类型

泛型委托和lambda表达式

partial类

$符号的作用相当于对String.format()的简化
partial类允许使用不同的编程语言实现同一个类,命名空间namespace和类名必须完全相同
winform窗体程序用到了partial关键字,UI是类的一部分,逻辑是类的另外一部分.

枚举和结构体struct

image

枚举实际是限制了输入的整数.

枚举的比特位用法
	巧妙利用二进制的特性

image

struct是值类型
值类型copy的是值,引用类型copy的是引用
结构体可以实现接口,但不能继承类
不允许显式的无参构造器
允许显式的有参构造器

委托,lambda,LINQ

委托是对函数指针的封装.
lambda表达式的本质
image

标签:11,20,C#,接口,接口隔离,枚举,泛型,partial,lambda
From: https://www.cnblogs.com/qianxilin/p/17843689.html

相关文章

  • AI未来发展6大趋势,国内AIGC法规正式实施,大模型开始接入移动设备 | AIGC 月报速览
    本期导览行业动态◾初心资本分享AI未来发展的六大趋势◾行业普遍认为AIGC可以提升工作效率◾AI芯片需求庞大,国内外公司都在大量下单抢购◾国内外公司纷纷开始狂招AI人才◾OpenAI推出企业版,GPT-3.5-turbo推出微调功能◾Midjourney新增Vary功能,升级GPU集群相关政......
  • 麒麟KYSEC使用方法06-命令设置账户锁定
    往期好文:麒麟KYSEC使用方法05-命令设置密码强度hello,大家好啊,今天给大家带来麒麟KYLINOS的kysec使用方法系列文章第六篇内容----使用命令设置账户锁定,账户锁定策略有一个文件需要修改,common-auth,今天给大家介绍一下使用命令设置账户锁定的文章,欢迎大家点个赞并点个在看。关注我吧!1......
  • 无涯教程-Tcl - continue语句函数
    Tcl语言中的continue语句的工作原理与break语句类似。但是,continue不是强制终止,而是强制循环的下一次迭代发生,从而跳过两者之间的任何代码。continuestatement-语法Tcl中continue语句的语法如下-continue;continuestatement-流程图continuestatement-示例......
  • 值得收藏的一些HTML、JavaScript、ASP代码
    1.CDONTS.NewMail组件使用说明 SetMailObject=Server.CreateObject("CDONTS.NewMail") MailObject.From="发信邮箱" MailObject.To="收信邮箱" MailObject.Cc="抄送邮箱" MailObject.Bcc="密送邮箱" MailObject.Subject=&qu......
  • CDR F9不显示图像,导出选择图像不显示
       ......
  • HTML+CSS+Javascript+Vue
    TableofContentsI.HTMLII.CSSGetStartedI.HTML按tab自动生成LabelMeaningPropertiesdiv块状元素span行间元素h1-h6标题iicon图标strong字体加粗a超链接img插入图片video插入视频controlsinput表单(输入账号、......
  • aiupdate backup
    aiupdatebackup #!/bin/bash#filename:checkping.sh#usage:./checkping.sh./IPList.csvif[$#-ne1];thenecho"exit..."exit0fiip_file=$1if[-e$file];thenwhileIFS=,read-rDeviceSNRemoteEndPointdo......
  • C# 实现FULL JOIN 效果
    参考:https://dotnettutorials.net/lesson/full-outer-join-in-linq/思路就是先leftjoin再rightjoin,最后unionnamespaceTest{internalclassProgram{staticvoidMain(string[]args){//创建测试数据varlistA=n......
  • mysql5.0升级8.0完成后,服务器重启引发"#1449 - The user specified as a definer ('m
    遇到的问题:问题一:ERROR1449(HY000):Theuserspecifiedasadefiner('mysql.infoschema'@'localhost')doesnotexist异常原因:未知解决办法:验证指定的用户('mysql.infoschema'@'localhost')是否存在于mysql数据库中SELECTUserFROMmysql.userWH......
  • RTL8211EG硬件设计要点
    RTL8211EG硬件问题解决办法问题一:RTL8211在RGMII模式下跑千兆失败的问题1、 连接网线后与PC自协商到100M。原因:RTL8211EG芯片内部自带DCDCBUCK降压电路,需要外置电感电容才能输出稳定的1.05V电压提供给芯片的内核工作。对于电感和电容,要选择手册推荐的型号,如图1.1所示。V2板由......