在c#中使用get关键字与继承有关的问题

本文关键字:继承 问题 关键字 get | 更新日期: 2023-09-27 18:08:42

所以我对此有一些问题。我对c#有点陌生。我所有的属性都是私有的,我使用传统的get和set。它是一个抽象类。但是在子类中,当我尝试在另一个方法中使用它时,编译器说不能作为方法使用。然而,如果我用c++的方式访问和变异,它工作得很好。有办法解决这个问题吗?

非常感谢您的帮助

没关系,我知道了。为了完成学校的作业,我已经连续写了7个小时的代码,我的大脑不太正常,哈哈,非常感谢

在c#中使用get关键字与继承有关的问题

这将是标准的c#方式来做(我认为)你所要求的。

public abstract class Base
{
    // Automatic Property
    public string Prop1 { get; set; }
    // With backing field
    private string prop2;
    public string Prop2
    {
        get { return prop2; }
        set { prop2 = value; }
    }
}
public class Derived : Base
{
    public string Prop3 { get; set; }
}
public class AnotherClass
{
    void Foo()
    {
        var derived = new Derived();
        // Can get and set all properties
        derived.Prop1 = derived.Prop1;
        derived.Prop2 = derived.Prop2;
        derived.Prop3 = derived.Prop3;
    }
}