匿名类型(匿名方法 LINQ技术基础四)

匿名类型的作用:有时候你定义的类只是用来封装一些相关的数据,但并不需要相关联的方法、事件和其他自定义的功能。同时,这个类仅仅在当前的应用程序中使用,而不需要在项目间重用。你所需要的只是一个“临时的”类型,现在来看看这个类的定义:

 

internal class oneClass

{

     //定义若干私有数据成员

     //通过属性来封装每个数据成员

     //

}

构建上面的类虽然说不上有多难,但是如果这个类有很多数据成员的话,那么还是要消耗相当时间的。C#3.0提供了匿名类型来轻松完成这个工作。现在定义一个简单的people类型:

//构建一个匿名对象来表示一个人

var Apeople=new{Sex=male,Name=Linc,Age=26};

//现在我们就可以使用属性语法获取和设置对象的各个变量

Apeople.Age=27;

Console.WriteLine({0} is {1} years old.,Apeople.Name,Apeople.Age);

匿名类型的嵌套

     刚刚我们定义了表示一个人的匿名类型,现在我们定义一个表示雇员的嵌套匿名类型:

var Aemployee = new {

joinDate =2007-7-31,

Apeople=new {Sex=male,Name=Linc,Age=26},

title = projManager

 }

匿名类型的限制:

1:匿名类型不支持事件、自定义方法和自定义重写

2:匿名类型是隐式封闭的(sealed)

3:匿名类型的实例创建只使用默认构造函数

4:匿名类型没有提供可供控制的类名称(使用var 定义的)

 

也许现在理解匿名类型的好处还为时尚早,等到使用LINQ时可能需要快速创建一个实体而又不需要定义其功能,这时你就会体会到匿名类型的好处了。

//下面再插入一段自MSDN的匿名方法和命名方法的实例

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值