没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|其它|编辑:郝浩|2009-05-27 09:24:08.000|阅读 506 次
概述:随着WEB开发的大行其道,各种动态语言也借着这股东风,蓬勃发展起来。在软件开发界,动态语言正在被越来越多的的人所接受和使用,在CSDN所做的 2007年读者大调查中,动态语言在开发人群中的受关注程度竟然达到12%。而在 TIOBE的排名中,动态语言竟然占有了前十名中的六个席位(包括PHP、Python、Perl和 JavaScript,在加上越来越动态的Java和C#)
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
随着WEB开发的大行其道,各种动态语言也借着这股东风,蓬勃发展起来。在软件开发界,动态语言正在被越来越多的的人所接受和使用,在CSDN所做的2007年读者大调查中,动态语言在开发人群中的受关注程度竟然达到12%。而在 TIOBE的排名中,动态语言竟然占有了前十名中的六个席位(包括PHP、Python、Perl和 JavaScript,在加上越来越动态的Java和C#)。
“未来属于动态语言”似乎正在从一个预言成为一个现实。C#自然不会错过这种技术发展确实,她正在通过不断引入新的动态预言的特性,使自己变得越来越美丽“动”人。
C# 4.0的主题就是动态编程(Dynamic Programming)。虽然C#仍然是一种静态预言,但是对象的意义开始变得越来越“动态”。它们的结构和行为无法通过静态类型来捕获,或者至少编译器在编译程序时无法得知对象的结构和行为。
C#引入了一种新的静态类型”dynamic”,当你拥有了一个dynamic类型的对象后,你“对它做的事情”只会在运行时进行解析。设想我们拥有这样两个类,分别表示两种饮料:
public class Coffee
{
public string GetName()
{
return "You selected Maxwell coffee.";
}
}
public class Juice
{
public string GetName()
{
return "You selected orange juice.";
}
}
现在,我们就可以用dynamic类型来表示这两种饮料。我们写一个函数GetDrink(),更加用户不同的选择返回不同的对象。
static private Object GetDrink(int i)
{
if (i == 1)
{
return new Juice();
}
else // default
{
return new Coffee();
}
}
static void Main(string[] args)
{
Console.WriteLine("Please Select Your Drink: 1 -- Juice; 2 -- Coffee");
int nDrinkType = Console.Read();
dynamic drink = GetDrink( nDrinkType );
Console.WriteLine( drink.GetName() );
}
C#编译器允许你通过dynamic对象调用任何方法,即使这个方法根本不存在,编译器也不会在编译的时候报编译错误。只有在运行的时候,它才会检查这个对象的实际类型,并检查在它上面GetName()是什么意思。动态类型将使得C#可以以更加统一而便利的形式范围下列对象:
•a. 来自动态编程语言——如Python或Ruby——的对象
•b. 通过IDispatch访问的COM对象
•c. 通过反射访问的一般.NET类型
•d. 结构发生过变化的对象——如HTML DOM对象
当我们得到一个动态类型的对象时,不管它是来自COM还是IronPython、HTML DOM还是反射,只需要对其进行操作即可,动态语言运行时(DLR)会帮我们指出针对特定的对象,这些操作的具体意义。这将给我们的开发带来极大的灵活性,并且能够极大程度上地精简我们的代码。
下面,我们就以一个具体实例SilverlightSolution,来演示C# 4.0中的动态编程是如何简化对Silverlight应用程序中HTML DOM对象的访问的。
1. 安装Silverlight 2运行时和SDK
为了运行这个实例,我们需要安装Silverlight 2运行时和SDK。这些都可以从微软的网站上直接下载:
Silverlight 2 RTW runtime 和Silverlight 2 RTW SDK
另外,因为Visual Studio 2010跟Silverlight的一些已知的兼容性问题,我们还需要一个拥有管理员权限的账号来运行Visual Studio 2010 CTP。
2. 下载实例项目SilverlightSolution
为了演示C# 4.0的诸多新特性,微软通过MSDN Code Gallery发布了一个演示C#新特性的实例程序包,我们用到的实例项目SilverlightSolution就在这个程序包中。然后将我们需要的项目SilverlightSolution解压到C盘根目录下。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:自互联网接DevExpress原厂商通知,将于近日上调旗下产品授权价格,现在下单客户可享受优惠报价!
面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号