發(fā)文章
發(fā)文工具
撰寫(xiě)
網(wǎng)文摘手
文檔
視頻
思維導(dǎo)圖
隨筆
相冊(cè)
原創(chuàng)同步助手
其他工具
圖片轉(zhuǎn)文字
文件清理
AI助手
留言交流
The dynamic language runtime (DLR) is a runtime environment that adds a set of services for dynamic languages to the common language runtime (CLR). The DLR makes it easier to develop dynamic languages to run on the .NET Framework and to add dynamic features to statically typed languages.
Dynamic languages can identify the type of an object at run time, whereas in statically typed languages such as C# and Visual Basic (when you use Option Explicit On) you must specify object types at design time. Examples of dynamic languages are Lisp, Smalltalk, JavaScript, PHP, Ruby, Python, ColdFusion, Lua, Cobra, and Groovy.
這么一堆洋文擺著,也懶的翻譯了。說(shuō)直接一點(diǎn)就是DLR使得.NET有了可以執(zhí)行腳本語(yǔ)言的能力(也許描述的不太精準(zhǔn),不過(guò)你可以這么理解)。
基于DLR微軟自己開(kāi)了兩套類(lèi)庫(kù)來(lái)跑python跟ruby。不過(guò)我想javascript的通用性更強(qiáng),做程序員的,不過(guò)100%也得有90%寫(xiě)過(guò)javascript吧。
那么這種能力有什么好處呢。我能想到的就是對(duì)于系統(tǒng)中一些經(jīng)常需要變更的邏輯,比如折扣算法,積分,以及各種規(guī)則,我們可以提到腳本里去寫(xiě)。這樣不用任何編譯,ctrl+s一下就可以解決問(wèn)題了。
code:
var jsContext = new IronJS.Hosting.CSharp.Context(); jsContext.ExecuteFile("myDlr.js"); var fun = jsContext.GetFunctionAs<Func<double, double, double>>("cacl"); double a = Double.Parse(this.tbxA.Text); double b = Double.Parse(this.tbxB.Text); var result = fun.Invoke(a,b); this.tbxResult.Text = result.ToString();
js:
var cacl = function (a, b) { return a*b; };
當(dāng)我修改a*b為a-b的時(shí)候結(jié)果直接就變成-10了。不用關(guān)閉程序,不用編譯程序,爽。
來(lái)自: 昵稱(chēng)10504424 > 《工作》
0條評(píng)論
發(fā)表
請(qǐng)遵守用戶(hù) 評(píng)論公約
開(kāi)啟Nginx的gzip壓縮功能
開(kāi)啟Nginx的gzip壓縮功能開(kāi)啟Nginx的gzip壓縮功能。收藏該經(jīng)驗(yàn) 默認(rèn)情況下,Nginx的gzip壓縮是關(guān)閉的 同時(shí),Nginx默認(rèn)只對(duì)text/html進(jìn)行壓縮 所以,開(kāi)啟gzip的指令如下:關(guān)于gzip_types,如果你想...
Nginx的gzip壓縮
gzip_types text/plain text/css application/x-javascript application/javascript application/xml;2. gzip_disable的設(shè)置是禁用IE6的gzip壓縮,又是因?yàn)楸叩腎E6IE6的某些版本對(duì)gzip的壓縮支...
Julia編程04:Julia調(diào)用R和Python
Julia編程04:Julia調(diào)用R和Python。mamba create -y -n jlpy python=3.10mamba activate jlpymamba install matplotlibwhich python# /o...
dyncall.org
dyncall.orgIntroduction.The dyncall library encapsulates architecture-, OS- and compiler-specificfunction call semantics in a virtual "bind argument parameters from left toright and ...
SWFUpload實(shí)現(xiàn)多文件上傳DEMO
SWFUpload實(shí)現(xiàn)多文件上傳DEMO.簡(jiǎn)單介紹下SWFUpload: SWFUpload是一個(gè)客戶(hù)端文件上傳工具,最初由Vinterwebb.se開(kāi)發(fā),它通過(guò)整合Flash...
4umi useful javascript
9.48 KB.12.59 KB.8.31 KB.6.37 KB.2.54 KB.3.95 KB.2.92 KB.6.60 KB.18.05 KB.5.13 KB.2.82 KB.3.02 KB.6.55 KB.10.73 KB.4.95 KB.21.81 KB.14.03 KB.3.52 KB.7.03 KB.19.25 KB.17.07 KB.3.27 KB.5.32...
(求兩直線交點(diǎn)坐標(biāo))錯(cuò)在哪了? .NET技術(shù) / VB.NET
Text) Dx1 = (X2 - X1) Dy1 = (Y2 - Y1) Dx2 = (X4 - X3) Dy2 = (Y4 - Y3) sa2 = Interf(Dx1, Dy1, Dx2, Dy2) ...
C#/.NET聯(lián)合西門(mén)子WinCC實(shí)現(xiàn)數(shù)據(jù)通信
最后要做的是通過(guò)編寫(xiě)一個(gè)簡(jiǎn)單的Winform程序來(lái)讀取WINCC中這4個(gè)變量的值并顯示,這里有兩種方式可以實(shí)現(xiàn)這樣的效果,一種是通過(guò)直接訪問(wèn)...
Krzysztof Kowalczyk notes by tag
They think that the opposite is "don''''''''t add unnecessary features" and who would be in favor of unnecessary features?The value of a feature ...
微信掃碼,在手機(jī)上查看選中內(nèi)容