Update: This question has been revised to make it clearer. The answers below seem to reflect that this method works well. Hopefully this questio
UPDATE: The following is INCORRECT.
No.
public abstract class A { public abstract int X { get; } public int GetXPlusOne() { return X + 1; } }
You won't change the value of A.X.
A.X
var d = new D(); d.X = 10; d.GetXPlusOne() == 1