C# 错误:C中应为类、委托、enm、接口或结构#
第行错误:public virtual void BuyFavoriteTuff()中的错误 错误:应为类、委托、enm、接口或结构C# 错误:C中应为类、委托、enm、接口或结构#,c#,C#,第行错误:public virtual void BuyFavoriteTuff()中的错误 错误:应为类、委托、enm、接口或结构 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace LearnAbstractClass { class Program { static void Main(string[] args)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LearnAbstractClass
{
class Program
{
static void Main(string[] args)
{
}
}
class Shopper
{
private int TotalSpent=0, CreditLimit=10;
public void ShopTillYouDrop()
{
while (TotalSpent < CreditLimit)
BuyFavoriteStuff();
}
}
public virtual void BuyFavoriteStuff()
{
// No implementation here - we don’t know
// what our student likes to buy!
}
class ArtStudent : Shopper
{
public override void BuyFavoriteStuff()
{
BuyArtSupplies();
BuyBlackTurtlenecks();
BuyDepressingMusic();
}
private void BuyBlackTurtlenecks()
{}
private void BuyDepressingMusic()
{}
private void BuyArtSupplies()
{}
}
class EngineeringStudent : Shopper
{
public override void BuyFavoriteStuff()
{
BuyPencils();
BuyGraphingCalculator();
BuyPocketProtector();
}
private void BuyPencils()
{}
private void BuyGraphingCalculator()
{}
private void BuyPocketProtector()
{}
}
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
命名空间LearnAbstractClass
{
班级计划
{
静态void Main(字符串[]参数)
{
}
}
班级购物者
{
私人int TotalExplored=0,CreditLimit=10;
公共图书馆
{
while(总支出
上面的实现有什么错误?您的方法:
public virtual void BuyFavoriteStuff()
{
// No implementation here - we don’t know
// what our student likes to buy!
}
它在购物者类之外您拥有任何类之外的方法:
public virtual void BuyFavoriteStuff()
{
// No implementation here - we don’t know
// what our student likes to buy!
}
只需将其移动到
Shopper
类即可 方法buyFavoriteTuff
不在类内
public virtual void BuyFavoriteStuff()
{
// No implementation here - we don’t know
// what our student likes to buy!
}
您应该在类内声明您的方法。另外两件事:您可以将Shopper类抽象化,如果您没有实现任何逻辑,但需要让派生类实现
BuyFavoriteTuff
您也可以在没有主体的情况下将其标记为抽象。