<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    so true

    心懷未來,開創(chuàng)未來!
    隨筆 - 160, 文章 - 0, 評(píng)論 - 40, 引用 - 0
    數(shù)據(jù)加載中……

    .NET零散筆記[3]

    .NET中所有的基類都是System.Object。

    C#中用is代替Java中instanceof關(guān)鍵字。

    C#中typeof和Type.GetType函數(shù)等同。

    C#中的特性,首先它是一個(gè)派生于System.Attribute的類,而且在類命名的時(shí)候,通常都以Attribute結(jié)尾。定義一個(gè)特性就是普通的定義一個(gè)類。使用特性時(shí),用一對(duì)中括號(hào)包含一個(gè)該特性定義的實(shí)例,然后放在方法前、類前、字段前即可。如:
    我們定義了一個(gè)RegistryKeyAttribute的特性,然后使用時(shí)就可以:
    [RegistryKey(34,"Foo")]//注意在引用時(shí)可以省略Attribute,系統(tǒng)會(huì)為其自動(dòng)添加上
    public int foo;
    然后就可以檢測該類的該屬性是否具有RegistryKeyAttribute特性了。
    C#中使用特性主要是為了添加注釋,并把注釋的信息捆綁到類上,在運(yùn)行的時(shí)候就可以通過反射的機(jī)制來得到這些注釋信息了,這點(diǎn)可以類比于Java中的Annotation。

    C#中,可以使用名字隱藏(name hiding)技術(shù),該技術(shù)主要應(yīng)用于當(dāng)一個(gè)類實(shí)現(xiàn)了某個(gè)接口時(shí),如果我們用該類的一個(gè)實(shí)例來“點(diǎn)”一下的話,那么應(yīng)該可以看到被實(shí)現(xiàn)的這個(gè)接口中的所有內(nèi)容,為了不讓外界看到接口中的內(nèi)容,那么可以使用該技術(shù)。該技術(shù)使用的具體方法是在實(shí)現(xiàn)接口中的方法時(shí)去掉public關(guān)鍵字,改用接口名字代替。例如:本來應(yīng)該是public void run(){}現(xiàn)在改為void Runnable.run(){}使用這種辦法可以解決“同時(shí)實(shí)現(xiàn)多個(gè)接口時(shí),當(dāng)不同接口中存在同樣的函數(shù)時(shí),產(chǎn)生的名字模糊問題”,比如A和B接口都有fun方法,那么在一個(gè)類同時(shí)實(shí)現(xiàn)A和B接口時(shí),可以這樣寫代碼:void A.fun(){...}
    void B.fun(){...}而在使用時(shí),可以這樣((A)類的一個(gè)對(duì)象).fun();這樣調(diào)用的就是對(duì)接口A中fun方法的實(shí)現(xiàn)。

    在C#中可以定義基于普通數(shù)值類型的enum類型,例如
    enum Test : int
    {
     One=1;
     Two,
     Three
    };

    C#中的switch語句中不允許“貫行<fall-through>”,即當(dāng)一個(gè)case情況滿足時(shí),如果該case沒有break語句,那么就會(huì)自動(dòng)執(zhí)行下一個(gè)case對(duì)應(yīng)的語句,在C#中把貫行給取消了,而在java中還是保留了貫行的。

    C#中也可以定義運(yùn)算符重載,對(duì)于普通運(yùn)算符重載時(shí),相對(duì)于一般的函數(shù)定義,我們只需要把“函數(shù)名”替換為“operator<某運(yùn)算符>”即可,例如:public static String operator+ (String s1,String s2)。比較特殊的是定義強(qiáng)制類型轉(zhuǎn)換運(yùn)算符,它的定義形式如下:
    public static implicit operator conv-type-out (conv-type-in operand)
    public static explicit operator conv-type-out (conv-type-in operand)
    這里的implicit指“不需要客戶端顯式的給出,它會(huì)自動(dòng)進(jìn)行”;explicit指的是“客戶端必須顯式的指出需要轉(zhuǎn)換的類型”。例如:
    public static implicit operator float (String s)
    最后,還需要提醒注意的是,對(duì)于運(yùn)算符重載,必須都定義為public static,這一點(diǎn)必須保證。

    posted on 2008-03-26 22:06 so true 閱讀(294) 評(píng)論(0)  編輯  收藏 所屬分類: .NET


    只有注冊用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 免费在线不卡视频| 亚洲成在人线aⅴ免费毛片| 亚洲精品国产自在久久| 亚洲高清中文字幕免费| 黄视频在线观看免费| 看亚洲a级一级毛片| 亚洲综合校园春色| 亚洲无线电影官网| 亚洲精品~无码抽插| 亚洲国产成人VA在线观看| 成人免费一区二区无码视频| 免费人妻无码不卡中文字幕系| 成在线人视频免费视频| 黄网站色成年片大免费高清| 亚洲AV成人影视在线观看| 亚洲最大黄色网站| 亚洲国产精品久久久久久| 亚洲乱码国产一区三区| 在线日韩日本国产亚洲| 亚洲国产成人久久综合一区77 | 亚洲色偷拍另类无码专区| 国产一区在线观看免费| 日韩高清免费在线观看| 99精品全国免费观看视频| 日本亚洲免费无线码| 日韩欧毛片免费视频| 91免费国产在线观看| 57pao国产成视频免费播放| 91av视频免费在线观看| 免费人妻无码不卡中文字幕系| 亚欧免费无码aⅴ在线观看| 嫩草在线视频www免费观看| 成人影片一区免费观看| 免费观看久久精彩视频| 日本视频免费高清一本18| 久久er国产精品免费观看2| 国产精品白浆在线观看免费| 一级做a爰全过程免费视频| 亚欧免费视频一区二区三区| 免费看污成人午夜网站| 麻豆国产人免费人成免费视频|