国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

如何讓C#像JavaScript一樣編程

2019-11-14 13:39:27
字體:
供稿:網(wǎng)友

  javaScript是一門動態(tài)語言,可以動態(tài)的給對象添加屬性和方法,非常方便.那么有沒有一種方式可以讓C#也具備動態(tài)添加屬性和方法的能力,像Javascript一樣進(jìn)行編程? 下面就介紹一個很不錯的框架ClaySharp可以實(shí)現(xiàn)上述功能.

   下面的代碼就是用ClaySharp構(gòu)建一個New對象后,可以用New來動態(tài)添加屬性:

   下面詳細(xì)說一下步驟:

1 新建一個控制臺程序,并引入類庫

    必須要引入ClaySharp命名空間:

1 //ClaySharp可以讓C#具備JavaScript的動態(tài)編程能力2 using ClaySharp;

   用ClayFactory創(chuàng)建一個New對象,New對象后面可以隨意的進(jìn)行動態(tài)對象創(chuàng)建:

1 dynamic New = new ClayFactory();2 var person = New.Person();3 person["FirstName"] = "Louis";4 person["LastName"] = "Dejardin";5 person.Age = 26;

   對象屬性可以用[]或者.進(jìn)行屬性創(chuàng)建.當(dāng)然也可以動態(tài)的創(chuàng)建方法:

1 var man = New.JackWang();2 man.FirstName = "Jack";3 man.LastName = "Wang";4 man.SayFullName = new Func<string, string>(x => man.FirstName + man.LastName + x);5 //output6 Console.WriteLine(man.SayFullName()(" Here!"));

   ClaySharp還支持用連綴的方法進(jìn)行屬性創(chuàng)建和賦值:

1 var peoples = New.Array(2     New.Person().FirstName("jack").LastName("wang"),3     New.Person().FirstName("jack").LastName("cumt")4 );5 Console.WriteLine("{0}", "----------ClaySharp-------------");6 foreach (var p in peoples)7 {8     Console.WriteLine("{0} {1}", p.FirstName, p.LastName);9 }

   其實(shí)在高版本的C#中,有內(nèi)置的對象ExpandoObject也有類似的功能,只是功能稍微比ClaySharp弱一點(diǎn):

1 Console.WriteLine("{0}", "-----System.Dynamic.ExpandoObject----");2 //---------------ExpandoObject---------------------------------------------3 dynamic expObject = new System.Dynamic.ExpandoObject();4 expObject.NickName = "jack";5 //expObject["NickName"] = "jack"; //error6 expObject.RealName = "Wang";7 Console.WriteLine("{0} {1}", expObject.NickName, expObject.RealName);8 Console.ReadLine();

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 辽中县| 淄博市| 景东| 涡阳县| 铜鼓县| 新丰县| 望江县| 正镶白旗| 武乡县| 灵武市| 铁岭县| 绥中县| 长寿区| 云和县| 邵阳市| 霍邱县| 星子县| 民乐县| 丰台区| 康平县| 永嘉县| 菏泽市| 娄底市| 叙永县| 平远县| 昭苏县| 屯昌县| 周宁县| 铁力市| 襄垣县| 屏东县| 大方县| 子长县| 甘孜县| 南丹县| 武义县| 阳信县| 博爱县| 东安县| 吉木乃县| 苍南县|