Как насчет добавления в класс конструктора, который будет принимать значение для свойства?
public class MyClass
{
public int Mandatory {get; set;}
public int Optional {get; set;}
public MyClass(int mandatory)
{
Mandatory = mandatory;
}
public MyClass(int mandatory, int optional)
{
Mandatory = mandatory;
Optional = optional;
}
}
Таким образом, экземпляр класса может быть создан с использованием конструктора с одним или двумя параметрами, поэтому пользовательнужно будет указать значение для свойства Mandatory
.
MyClass x = new MyClass(); // does not compile
MyClass x = new MyClass(1); //Mandatory = 1; Optional = 0 (default value)
MyClass x = new MyClass(1,2);//Mandatory = 1; Optional = 2