public interface I { } public abstract class AnyObjectId : I { public int W1 { get; set; } } public class ObjectId : AnyObjectId { ObjectId () { W1 = 1; } public static void Main () { } }