Visual C# 中的继承代码
本文关键字:继承 代码 Visual | 更新日期: 2023-09-27 18:30:46
我有以下代码,我不明白我的错误在哪里?
代码如下:
using System;
using System.Collections;
namespace ConsoleApplication5
{
static void Main(string[] args)
{
class Program
{
public class Animal
{
public virtual void Greet()
{
Console.WriteLine("Hello, I'm some sort of animal!");
}
}
public class Dog : Animal
{
public override void Greet()
{
Console.WriteLine("Hello, I'm a dog!");
}
}
}
它没有被编译,我收到以下错误:在第 24 行 类型或命名空间定义,或预期的文件结尾在第 6 行 } 是预期的
我不明白我做错了什么,你能帮我吗?谢谢。如果重要的话,我在Visual Studio 2015中编译了这个。
顺便说一句,我从本教程中获得了部分代码:http://csharp.net-tutorials.com/classes/inheritance/
我相信你对作用域有困惑。您在不适用的方法中定义了一个类,您应该在命名空间作用域下定义类。
应该是这样的(这是一个伪代码)
namespace YourNamespace
...class Program
.... public class animal
.... public class dog : animal
.... static void main
不能在方法主体中定义类,这是这里发生的情况:
static void Main(string[] args)
{
class Program
{
相反,您需要将 Main()
方法的代码放在 Program
类中:
class Program
{ // This brace marks the beginning of the Program class
static void Main(string[] args) // This is a method defined WITHIN Program class
{ // The brace marks the beginning of the Main method
....
} // This brace marks the end of the Main method
} // This brace closes the Program class