Version 2: sealed class API { public string SomeProperty { get; } } Version 2: class API { public string SomeProperty { get; protected set; } } class TestAPI : API { public void SetValue(string value) { base.SomeProperty = value; } }