国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 營銷百科 > .net默認參數

.net默認參數

時間:2023-03-28 18:46:02 | 來源:營銷百科

時間:2023-03-28 18:46:02 來源:營銷百科

.net默認參數:C#是靜態(tài)強類型語言。而在很多情況下,提供'動態(tài)'行為,是常常發(fā)生的事情,例如通過反射在運行時訪問.NET類型、調用動態(tài)語言對象、訪問COM對象等,都無法以靜態(tài)類型來獲取。因此, C# 4.0引入的又一個全新的關鍵字dynamic,也同時引入了改善靜態(tài)類型與動態(tài)對象的交互能力,這就是動態(tài)查找(Dynamic Lookup)例如:

public static void Main() {

dynamic d = GetDynamicObject();

d.MyMethod(22); // 方法調用

d.A = d.B; // 屬性賦值

d['one'] = d['two']; //索引器賦值

int i = d 100; // 運算符調用

string s = d(1,2); // 委托調用

}

就像一個object可以代表任何類型,dynamic使得類型決斷在運行時進行,方法調用、屬性訪問、委托調用都可動態(tài)分派。同時,動態(tài)特性還體現在構建一個動態(tài)對象,在C# 4.0實現IDynamicObject接口的類型,可以完全定義動態(tài)操作的意義,通過將C#編譯器作為運行時組件來完成由靜態(tài)編譯器延遲的操作,例如:

dynamic d = new Foo();

string s;

d.MyMethod(s,3,null);

在具體執(zhí)行過程中,C#的運行時綁定器基于運行時信息,通過反射獲取d的實際類型Foo,然后在Foo類型上就MyMethod方法進行方法查找和重載解析,并執(zhí)行調用,這正是動態(tài)調用的背后秘密:DLR。在.NET 4.0中將引入重要的底層組件DLR(Dynamic Language Runtime,動態(tài)語言運行時),除了實現動態(tài)查找的基礎支持,DLR也同時作為基礎設施為類似于IronRuby、IronPython這樣的動態(tài)語言提供統(tǒng)一的互操作機制??偠灾?,動態(tài)編程將為C#在以下領域產生巨大的變革:

· Office編程與其他COM交互。

·動態(tài)語言支持,在C#中消費IronRuby動態(tài)語言類型將并非難事,體驗動態(tài)語言特性指日可待。

· 增強反射支持。

以調用IronRython為例,我們只需引入IronPython.dll,IronPython.Modules.dll,and Microsoft.Scripting.dll,即可通過創(chuàng)建ScriptRuntime在C#中HostingIronPython環(huán)境,進而來操作動態(tài)語言的類型信息。

ScriptRuntime py = Python.CreateRuntime();

dynamic mypy = py.UseFile('myfile .py');

Console.WriteLine(mypy.MyMethod('Hello'));

雖然從微軟當前提供的技術資料和CTP演示中,動態(tài)查找還存在或多或少的問題,但是在'動態(tài)'大行其道的今天,我們無法回避也必須擁抱這個未來的主角,因為我堅信明天會更好。

關鍵詞:參數,默認

74
73
25
news

版權所有? 億企邦 1997-2025 保留一切法律許可權利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關閉