• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 測試技術
    • 博客
    • 視頻
    • 開源
    • 論壇
    • 沙龍
    • 下載
    • 雜志
    • 招聘

    您的位置:您的位置:軟件測試技術門戶 >> 軟件測試技術 >> 開發語言 >> .net >> 查看資訊

    字號: | 推薦給好友 上一篇 | 下一篇

    Visual C# .NET2003語言的改變

    發布: 2008-5-29 10:38 | 作者: 不詳 | 來源: 智慧谷 | 查看: 48次 | 進入領測軟件測試網論壇討論

    領測軟件測試網

    es:G8P V,~0{

    m&J3guE.M#[ TgD軟件測試技術門戶Bb&Q&dmI |
       }
    3n#lCbd{}
    p5I M5\^FV當 foreach 語句在某個對象集合中使用迭代時,它將執行 GetEnumerator 方法并接收轉換為 Base 類型的 Derived 實例作為它的迭代程序類型。當然,Base 類型無需為了調用它的 Current 和 MoveNext 方法而實現 Ienumerator 接口。在早期編譯器中,Derived 類型的 Dispose 方法不被調用,因為它不實現 IEnumerator,并且類 Base 對于實現 Idisposable 不是靜態已知的。在新的編譯器中,Dispose 方法被調用,因為編譯器在所有 foreach 語句的迭代程序類型中檢查是否存在 Idisposable 接口。由于 GetEnumerator 調用的結果是一個轉換為 Base 類型的 Derived 類型,并且由于 Derived 類型實現 Idisposable 接口,因此編譯器動態檢查 Idisposable 接口是否存在,會導致對 Dispose 方法的調用。

    +Eq ~!K{TV

    _:t%Jv(|X].Z(}屬性聲明的改變
    /Asn0~v I+mECMA C# 標準明確禁止為相應的屬性創建獲取和設置函數。實際上,C# 編譯器將屬性聲明轉換為獲取和設置函數,以便不支持屬性的語言也可以訪問數據。因此,下面的代碼是無效的,因為編譯器會產生 get_Prop 和 set_Prop 方法,而這兩個方法與用戶聲明的方法發生沖突:

    /HX'Z)b&F 老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>