亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

擴展出現問題

static class PetGuide

?{

? ? ? ? ? ? static public void HowToFeedDog(this Dog dog)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? Console.WriteLine("Play a video about how to feed a dog.");

? ? ? ? ? ? }

?}

HowToFeedDog提示:擴展方法必須在頂級靜態類中定義;PetGuide是嵌套類

運行語句Dog dog=new Dog("Tommy");

?????????????dog.后沒有出現HowToFeedDog

前面的代碼目前沒有出現錯誤,感謝回答!


正在回答

3 回答

嵌套類,這個是一個內部類,所以無法訪問??赡苁菦]注意相關括號的作用域,仔細檢查一下。把他定義在外面。

1 回復 有任何疑惑可以回復我~
#1

qq_kukukiki_0 提問者

非常感謝!
2018-01-29 回復 有任何疑惑可以回復我~
#2

慕俠3348009 回復 qq_kukukiki_0 提問者

你的問題解決沒,我也出現這種情況?
2018-05-14 回復 有任何疑惑可以回復我~

我也遇到了,需要把類直接放在?class Program{}的外面,然后通過智能提示補全dog類的引用就可以了

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace ConsoleApplication1

{

? ? class Program

? ? {


? ? ? ? //結構

? ? ? ? struct fish {

? ? ? ? ? ? int size;

? ? ? ? ? ? int weight;

? ? ? ? ? ? int type;

? ? ? ? }

? ? ? ? interface jieko{

? ? ? ? ? ? void chatchMoutc();//接口中默認是public,但不能加修飾符,且也不能在接口中實現

? ? ? ? }

? ? ? ? interface upTree {

? ? ? ? ? ? void upTrees();

? ? ? ? }


? ? ? ? static void Main(string[] args)

? ? ? ? {

? ? ? ? ? ? pet[] pets = new pet[] { new dog("小黑"),new cat("小密"),new dog("大黃"), };

? ? ? ? ? ? for (var i =0;i<pets.Length;i++) {

? ? ? ? ? ? ? ? pets[i].spicking();

? ? ? ? ? ? ? ??

? ? ? ? ? ? }


? ? ? ? ? ? dog dog1 = new dog("小九");

? ? ? ? ? ? dog1.PetGuide();


? ? ? ? ? ? dog.showDogNume();

? ? ? ? ? ? //pet dog = new dog();

? ? ? ? ? ? //dog._name = "小黑";

? ? ? ? ? ? //dog.printName();


? ? ? ? ? ? //pet cat = new cat();

? ? ? ? ? ? //cat._name = "小密";

? ? ? ? ? ? //cat.printName();


? ? ? ? ? ? //dog.spicking();

? ? ? ? ? ? //cat.spicking();

? ? ? ? ? ? cat cat = new cat("小密");

? ? ? ? ? ? upTree utree = cat;

? ? ? ? ? ? cat.upTrees();

? ? ? ? ? ? utree.upTrees();

? ? ? ? ? ? jieko chatct = cat;

? ? ? ? ? ? cat.chatchMoutc();

? ? ? ? ? ? chatct.chatchMoutc();

? ? ? ? ? ? Console.ReadKey();

? ? ? ? ? ??

? ? ? ? }


? ? ? ? abstract public class pet{

? ? ? ? ? protected string _name;

? ? ? ? ? ? public pet(string Name)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? _name = Name;

? ? ? ? ? ? }

? ? ? ? ? ? public void printName() {

? ? ? ? ? ? ? ? Console.WriteLine("動物的名字叫"+_name);


? ? ? ? ? ? }


? ? ? ? ? ? //虛方法

? ? ? ? ? ? //virtual public void spicking() {

? ? ? ? ? ? //? ? Console.WriteLine("動物說話了");


? ? ? ? ? ? //}



? ? ? ? ? ? //抽象方法 必須放在抽象類里面

? ? ? ? ? ? abstract public void spicking();

? ? ? ? }


? ? ? ? public class dog :pet{



? ? ? ? ? ? static int Num;

? ? ? ? ? ? static dog() {

? ? ? ? ? ? ? ? Num = 0;

? ? ? ? ? ? }

? ? ? ? ? ? public dog(string Name) : base(Name)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? ++Num;

? ? ? ? ? ? }




? ? ? ? ? ? new public void printName()

? ? ? ? ? ? {

? ? ? ? ? ? ? ? Console.WriteLine("小動物的名字叫" + _name);


? ? ? ? ? ? }


? ? ? ? ? sealed override public? void spicking()

? ? ? ? ? ? {

? ? ? ? ? ? ? ? Console.WriteLine(_name +"說:汪汪汪");

? ? ? ? ? ? }


? ? ? ? ? ? static public void showDogNume() {

? ? ? ? ? ? ? ? Console.WriteLine("目前有"+Num+"條狗");

? ? ? ? ? ? }

? ? ? ? }


? ? ?


? ? ? ? public class cat : pet,upTree, jieko //在類中實現了接口,也需要實現接口中的方法

? ? ? ? {

? ? ? ? ? ? public cat(string Name) : base(Name)

? ? ? ? ? ? {

? ? ? ? ? ? ? ??

? ? ? ? ? ? }


? ? ? ? ??


? ? ? ? ? ? new public void printName()

? ? ? ? ? ? {

? ? ? ? ? ? ? ? Console.WriteLine("小動物的名字叫" + _name);

? ? ? ? ??

? ? ? ? ? ? }


? ? ? ? ? ? public override void spicking()

? ? ? ? ? ? {

? ? ? ? ? ? ? ? Console.WriteLine(_name + "說:喵喵喵");

? ? ? ? ? ? }


? ? ? ? ? ? public void upTrees() {

? ? ? ? ? ? ? ? Console.WriteLine(_name + "爬樹");

? ? ? ? ? ? }


? ? ? ? ? ? public void chatchMoutc() {

? ? ? ? ? ? ? ? Console.WriteLine(_name + "抓老鼠");

? ? ? ? ? ? }

? ? ? ? }



? ? }


? ? static class showVideo

? ? {

? ? ? ? static public void PetGuide(this Program.dog dog)

? ? ? ? {

? ? ? ? ? ? Console.WriteLine("播放視頻");

? ? ? ? }

? ? }


}


0 回復 有任何疑惑可以回復我~

把PetGuide定義到namespace下面試試吧

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

擴展出現問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號