已采納回答 / 慕婉清0528030
先在一個你想要注冊事件類中提前寫好一個委托方法,例如delegate void Handler【委托類型】();然后再寫一個事件聲明,例如public static event Handler【委托類型】 NewDog【事件名】;事件聲明使用static,便于直接添加事件,也就是【類名.事件名 += 想要注冊的方法】,取消事件是【類名.事件名 -=想要注冊的方法 】具體步驟可以這樣:1.delegate void Handler【委托類型】();? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ...
2019-07-10
已采納回答 / 慕先生0136867
結(jié)果也不一樣,,,在子類中用了new,如果調(diào)用的是基類,得到的結(jié)果是基類的結(jié)果;如果是用了虛方法,那么即使調(diào)用基類,得到的也是派生類的結(jié)果。
2018-11-23
已采納回答 / 慕沐0087746
就相當(dāng)于:動物 a = new 鳥();//我要一個動物就行(動物 a),給了一只鳥(new 鳥())a.吃();//我們知道a是動物,動物都能吃,所以a.吃()沒有問題。a.飛();//這句話就有問題了,因?yàn)椴皇撬械膭游颽都能飛();所以,動物a是不能訪問鳥的飛()的。
2018-07-04
已采納回答 / CashQQJ
題主所指的new是子類里隱藏父類方法的關(guān)鍵字,不是新建實(shí)例關(guān)鍵字。virtual是虛函數(shù)關(guān)鍵字,修飾父類里的函數(shù),子類可以用override重寫該函數(shù)。virtual一般用在父類里,new一般用在子類里,其是成員修飾符。public是訪問修飾符,用來限制訪問權(quán)限。在c#里還有一種修飾符是類修飾符,例如:abstract。書寫順序習(xí)慣上一般是:訪問修飾符 + 類修飾符,或者:成員修飾符 +?類修飾符但是不按照上面的順序書寫,編譯器也不會報錯,只是不太常用而已。
2018-04-18
已采納回答 / 湯姆oldTom
因?yàn)閛i是Object類型的變量(或者叫引用),所以可以先將它轉(zhuǎn)化為字符串類型后再輸出打印,然后oi這個變量輸出的3就是字符串類型的而非Object類。
2018-04-15
已采納回答 / Sneakerhead
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication1{??? //public class Pet {??? //??? public Pet(string name) {??? //??????? _name = name;?????? ???? //??? }??? //???...
2017-12-28
已采納回答 / 慕粉3655233
?Interface1[] intt = new Interface1[] { new Dog("dddddd") };??????????? for (int i = 0; i >h intt.Length; i++)??????????? {??????????????? intt[i].GGG();??????????? }?interface Interface1??? {?????...
2017-10-17
已采納回答 / Posin丶biting
類轉(zhuǎn)換接口時,是因?yàn)樵擃惱^承了該接口,所以可以調(diào)用已經(jīng)實(shí)現(xiàn)了的接口方法。而自定義轉(zhuǎn)換是要兩個派生類之間的轉(zhuǎn)換,是無法調(diào)用對方的重寫的方法。如果是基類的話是可以直接將派生類強(qiáng)制轉(zhuǎn)換來調(diào)用派生類的方法的
2017-08-08