Stack overflow exception in C# setter
When you write a = value, you are calling the property setter again. In order to use non-automatic properties, you need to create a separate private backing field, like this: ConstraintSet a; public ConstraintSet A { get { return a; } set { a = value; } }