首页 > 解决方案 > 为什么我不能更改子类中的字段,除非它在方法 C# 中

问题描述

嗨,这可能是一个非常基本的答案,但我在谷歌搜索时找不到它。

基本上我了解继承如何工作的基础知识,但是我无法理解我正在玩的一个小示例代码来练习继承,我只能在子类的父类中更改一个 int 集的值。此示例的 shapeSize 方法:

    public class Shape
{
   public int shapeSize = 1;
    public virtual void Draw()
    {
        Console.WriteLine("Draw a shape");
        ShowShapeSize();
    }

    private void ShowShapeSize()
    {
        Console.WriteLine(shapeSize);

    }
}

public class Circle : Shape
{
       //Can't change value here of shapeSize here??
    public override void Draw()
    {
        shapeSize = 2;
        base.Draw();
        Console.WriteLine("Testing none override");
    }

}

有人可以解释为什么我不能更改我发表评论的区域中的字段,但为什么我可以在方法中。

标签: c#field

解决方案


推荐阅读