关于C#抽象类示例中两类写法正确性的技术问询
关于C#抽象类相关写法的疑问解答
1. 派生类在自身Main方法中实例化自身是否正确?
完全正确。只要这个派生类不是抽象类(就像官方示例里的DerivedClass,它继承抽象基类但自身没有标记abstract),就可以正常实例化。而Main是类的静态成员,静态方法中直接实例化当前类的对象是C#里非常常规的操作,很多控制台程序的入门示例都会这么写。
2. 抽象类中定义public abstract int X { get; }这类抽象属性是否正确?
这是完全合规的正确写法。抽象属性的语法规则和抽象方法类似:只需要声明属性的访问器(get/set)签名,不需要提供具体的实现逻辑(也就是不用写访问器大括号里的代码)。子类继承这个抽象类后,必须实现这些抽象属性的访问器,否则子类也得标记为abstract。
举个实现的例子,子类可以这么写:
public override int X { get { return 10; } } public override int Y { get { return 20; } }
或者用更简洁的C#表达式体写法:
public override int X => 10; public override int Y => 20;
内容的提问来源于stack exchange,提问作者The Odd Developer
相关产品推荐
相关产品推荐

