所以我遇到了一些问题。我是C#的新手。我的所有属性都是私有的,我使用的是传统的get和set。这是一个抽象类。但是在子类中,当我尝试在另一个方法中使用它时,编译器说不能用作方法。但是,如果我使用C ++方式的加速器和变换器,它工作正常。有办法解决这个问题吗?
非常感谢你的帮助
没关系,我明白了。我刚刚编写了7个小时的代码直接为学校完成这项任务,我的大脑不能正常工作lol非常感谢
答案 0 :(得分:1)
这将是你正在做的事情(我认为)的标准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;
}
}