黑马程序员技术交流社区

标题: 匿名类是什么? [打印本页]

作者: 墨蹄    时间: 2014-4-4 18:26
标题: 匿名类是什么?
本帖最后由 墨蹄 于 2014-4-9 12:05 编辑

匿名类在什么情况下使用?
作者: siyuefeiyang    时间: 2014-4-4 20:07
1 匿名类是什么?匿名类是不能有名字的类,它们不能被引用,只能在创建时用New语句来声明它们
2 什么情况下用?swing,awt事件中用的比较多,以及spring框架中。灵活性比较大。省去建立一个新类。

作者: itheima_xu    时间: 2014-4-4 21:33
匿名类,顾名思义没有名字的类。它的声明是在编译时进行的。
经常用来将一组只读属性封装到单个对象中,而无需首先显式定义其类型,跟javascript 中var类 差不多。
比如:
public Person
{
    public string Age;
    public string Name;
    public string Sex;
}
//初始化对象
Person person= new Person
{
Age = "18",
Name = "li",
Sex = "femal"
};
//or 用匿名类
var person = new
{
Age = "18",
Name = "zhang",
Sex = "femal"
};

还有在引擎模版中也有用到,你可以看下杨中科老师的视频
//把类的定义和对象的声明初始化放到一起
            //匿名类
            var news = new { Title = "特大喜讯",Author="杨中科",PostDate="2013-11-08",Msg="今天晚上会公布喜讯细节!" };
            string s = news.PostDate;           

            VelocityContext vltContext = new VelocityContext();
            vltContext.Put("data", news);




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2