当前位置: 首页 > news >正文

云服务器可以做网站wordpress的源代码

云服务器可以做网站,wordpress的源代码,展厅设计公司西安,图片无版权网站一. 为什么是它们三个? 拿这三者比较的原因是它们在使用的时候非常相似。你可以用它们声明的变量赋任何类型的值。 看看下面的示例: var a 1;object b 1; dynamic c 1; 你还可以使用关键字为它们赋上更加复杂的类型 var a new string[]{1};object b new …一. 为什么是它们三个? 拿这三者比较的原因是它们在使用的时候非常相似。你可以用它们声明的变量赋任何类型的值。 看看下面的示例: var a 1;object b 1; dynamic c 1; 你还可以使用关键字为它们赋上更加复杂的类型 var a new string[]{1};object b new string[]{1}; dynamic c new string[]{1}; 二. 能够任意赋值的原因 上面的例子中看起来三者非常相似但是背后的原理却是非常不同。 var是C# 3中引入的其实它仅仅只是一个语法糖. var本身并不是一种类型, 其它两者object和dynamic是类型。 var声明的变量在赋值的那一刻就已经决定了它是什么类型。 所以如果你这样使用就会有编译错误: var a 1; a Test; object之所以能够被赋值为任意类型的原因其实都知道因为所有的类型都派生自object. 所以它可以赋值为任何类型: object a 1; a Test; 那么dynamic呢? 它是C#引入的新类型它的特点是申明为dynamic类型的变量不是在编译时候确定实际类型的, 而是在运行时。 所以下面的代码是能够通过编译的但是会在运行时报错: dynamic a test; a; 上面代码内部处理的过程是怎样的呢? 首先, dynamic类型赋值为字符串test, 运行操作的时候.net会去寻找当前的赋值类型string中是否支持操作发现不支持出现异常。 所以如果这样修改一下就可以让代码正常运行起来 dynamic a test; a 1; a; 三. dynamic的用法 1 直接使用该类型可以非常方便的插入属性, 方法 static void Main(string[] args) {dynamic person new System.Dynamic.ExpandoObject();person.Name cary;person.Age 25;person.ShowDescription new Funcstring(() person.Name person.Age);Console.WriteLine(person.Name person.Age person.ShowDescription());Console.ReadLine(); } 2 枚举所有成员 foreach (var property in (IDictionaryString, Object)dynEO) {Console.WriteLine(property.Key : property.Value); } 3 简化反射 常用的处理反射的例子: object calc GetCalculator(); Type calcType calc.GetType();object res calcType.InvokeMember( Add, BindingFlags.InvokeMethod, null, new object[] { 10, 20 });int sum Convert.ToInt32(res); 使用dynamic之后: dynamic calc GetCalculator(); int sum calc.Add(10, 20); 四使用dynamic的注意事项 有了dynamic.net就以及有了动态类型的优势但是由于对于dynamic类型的所有操作都是在运行时确定的所有错误无法在编译时候出现使用的时候就需要非常小心。 因为dynamic是类型所以如果函数接受的是确定类型的参数是不能传入dynamic类型的这样会有编译错误 public int Add(int a, int b){     return a b; } dynamic test1 1; dynamic test2 2; Add(test1, test2); 下面是对上面的例子的修正谢谢AlanNet. 大家可以实验一下 #15楼 AlanNet  2014-02-04 21:30为什么我copy你最后一个例子并没有报错支持(0)反对(0)回复引用删除#16楼[楼主] JustRun  2014-02-07 08:30AlanNet应该是编译不通过我待会试试支持(0)反对(0)修改删除#17楼[楼主] JustRun  2014-02-08 08:29AlanNet是不会报错对于普通的类型int这样的不会有问题。但是如果是对象类型运行时会报错。 另外在我们自己在写函数时最好不要将dynamic类型作为函数的参数这就像是使用object作为函数参数一样会为程序的维护带来后续的麻烦。 没有人能够确定使用者传入的是什么而且编译时候不会有问题。如果错误出现在运行时就有可能是灾难。 原文地址http://www.cnblogs.com/JustRun1983/p/3163350.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注
http://www.pierceye.com/news/240002/

相关文章:

  • 做网站用矢量图还是位图安徽省住房和建设厅网站
  • 彭阳网站建设多少钱嘉兴专业的嘉兴专业网站建设项目
  • 网站建设导航分哪几类公司网站大全
  • 网站建设 实训题安能建设总公司网站打不开
  • 莱西网站建设龙岗中心城有学网站建设
  • 重庆技术网站建设宝安做网站哪家好
  • 仿制网站建设写网站建设的软文
  • 0基础网站建设教程wordpress去掉rss订阅
  • 爱网站查询外贸推广具体是做什么
  • 商务网站价格找人做效果图那个网站
  • 上传到网站租一个服务器要多少钱
  • 网站制作服务合同安徽建设工程信息网文件
  • 成都企业网站建设公司正规的跨境电商平台有哪些
  • 中山工程建设信息网站网站监控系统
  • 个人网站想添加支付功能怎么做北京二次感染最新消息
  • 上海注册汽车租赁公司网站模板对seo的影响
  • 上海松江做网站公司wordpress 网站暂停
  • 太仓苏州网站建设网站的规划与建设课程设计
  • 遵义住房城乡建设厅网站电子商务网店毕业设计
  • 惠州市博罗县建设局网站防静电产品东莞网站建设技术支持
  • 茂名整站优化百度一下 你知道首页
  • 郑州网站微信微博维护品牌网站建设流程图
  • 网站建站销售怎么做做门窗安装去哪些网站找生意
  • 太原建站司点击查看荆州网站开发
  • 个人音乐网站开发宁波网站推广工作室电话
  • 建设部网站 造价工程师wordpress忘了秘密
  • 如何分析一个网站建设策划案湖南网络推广公司大全
  • 惠州市建设工程交易中心网站如何制作网页导航栏
  • 保山网站建设哪家好做led视频好的网站
  • 如何利用网站策划做好网站建设申请域名要多少钱