using System;
namespace Example
{
abstract class PrivateFoo
private int _directionX = -1;
protected int DirectionX
get
return _directionX;
}
set
_directionX = value;
ExtraWork();
protected abstract void ExtraWork();
protected abstract void Start();
class Foo : PrivateFoo
protected override void ExtraWork()
protected override void Start()
this.DirectionX = 0; //Compiles
_directionX = 0; //Does not compile
public class Program
public static void Main()