C#特性 学习笔记(对象初始化器 匿名类型 扩展方法)
对象初始化器
Book book = new Book { Title="Inside COM",ISBN="123-456-789"};
集合初始化器
IList<Book> books = new List<Book> { new Book { Title = "Inside COM", ISBN = "123-456-789",Price=20 },new Book { Title = "Inside C#", ISBN = "123-356-d89",Price=100 },new Book { Title = "Linq", ISBN = "123-d56-d89", Price = 120 } };
匿名类型
在C#里有这样一些类型,它是作为临时储存数据的,生命周期只在这个方法内,方法结束了,这个类型的生命周期也没有了。那么这里我们就可以使用一个匿名类型。
扩展方法:
1 方法所在的类必须是静态的
2 方法也必须是静态的
3 方法的第一个参数必须是你要扩展的那个类型,比如你要给int扩展一个方法,那么第一个参数就必须是int。
4 在第一个参数前面还需要有一个this关键字。
按照上面的步骤写你就得到了一个“扩展方法”,你可以像调用这个类的原生方法那样去调用它:
实例 :
public static class PropertyExtension {public static object GetValueByName(this object self, string propertyName){if (self == null){return self ;}Type t = self.GetType();PropertyInfo p = t.GetProperty(propertyName);return p.GetValue(self, null);} }
转载于:https://www.cnblogs.com/wayne798/archive/2012/04/09/2438940.html
C#特性 学习笔记(对象初始化器 匿名类型 扩展方法)相关推荐
- 微软免费图书《Introducing Microsoft LINQ》翻译Chapter2.1:C# 3.0 特性(对象初始化表达式\匿名类型\查询表达式)...
本书翻译目的为个人学习和知识共享,其版权属原作者所有,如有侵权,请告知本人,本人将立即对发帖采取处理. 允许转载,但转载时请注明本版权声明信息,禁止用于商业用途! 博客园:韩现龙 Introducin ...
- 《Java 核心技术卷1 第10版》学习笔记------ 对象包装器、自动装箱、拆箱
有时, 需要将 int 这样的基本类型转换为对象. 所有的基本类型都冇一个与之对应的类.例如,Integer 类对应基本类型 int.通常, 这些类称为包装器 ( wrapper ) 这些对象包装器类 ...
- python学习笔记(三)—— 序列类型及方法(列表、元组、字符串)
所谓序列,指的是一块可以存放多个值的连续内存空间,可以通过每个值所在的编号(索引)去访问他们 目录 列表(可变序列) 元组(不可变序列) 字符串(不可变) 转义 字符串拼接 列表(可变序列) 列表 方 ...
- Java8新特性学习笔记
Java8新特性学习笔记 文章目录 Java8新特性学习笔记 一.接口和日期处理 1.接口增强 1.1.JDK8以前 VS JDK8 1)接口定义: 1.2.默认方法(default) 1)默认方法格 ...
- jdk7新特性学习笔记
jdk7新特性学习笔记 从网络down了视频看,记录下学过的东西. 1.二进制字面量 JDK7开始,可以用二进制来表示整数(byte,short,int和long),语法:在二进制数值前面加 0b或者 ...
- 第七节:语法总结(1)(自动属性、out参数、对象初始化器、var和dynamic等)
一. 语法糖简介 语法糖也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方 ...
- HALCON 21.11:深度学习笔记---对象检测, 实例分割(11)
HALCON 21.11:深度学习笔记---对象检测, 实例分割(11) HALCON 21.11.0.0中,实现了深度学习方法. 本章介绍了如何使用基于深度学习的对象检测. 通过对象检测,我们希望在 ...
- Mcad学习笔记之通过反射调用類的方法,屬性,字段,索引器(2種方法)
相关文章导航 Sql Server2005 Transact-SQL 新兵器学习总结之-总结 Flex,Fms3相关文章索引 FlexAir开源版-全球免费多人视频聊天室,免费网络远程多人视频会议系统 ...
- muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor
目录 muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor Connector 系统函数connect 处理非阻塞connect的步骤: Connetor时序图 Accep ...
- C#中的构造方法与对象初始化器
文章目录 1 C#中的构造方法 1.1 默认的无参构造方法 1.2 自定义的无参构造方法 1.3 自定义的有参数的构造函数 2 对象初始化器 2.1 对象初始化器的使用 3 构造方法和初始化器的对比 ...
最新文章
- 简洁的导出 datatable到excel,不用组件
- Java字符串String比较不要用==原因
- 【TensorFlow】tf.nn.softmax_cross_entropy_with_logits中的“logits”到底是个什么意思?
- c++ qt获取电脑的内存_Qt官方示例-TCP客户端/服务器示例
- pg库sharelock_PostgreSQL LOCK(锁)
- ZooKeeper监控
- 【CCCC】L3-013 非常弹的球 (30分)物理计算
- [Vue]开发环境搭建
- vue 个人头像修改
- 百度网盘链接提取码接口实现
- c语言存储转置矩阵,C语言实现矩阵转置(附带源码)
- Python作业题整理
- Arduino制作跑马灯
- Umi3.5配置全局路由及菜单
- 双11还没买过瘾?亚马逊“真黑五”全球狂欢登场
- 做一个专属于自己的图灵机器人
- 研究内核安全必读的10本书
- Photoshop界面字体太小解决方案
- JavaScript网页设计作业 仿当当书网站 HTML+CSS 学生dreamweaver网页设计作业成品
- sklearn的决策树和随即森林的demo