When developing a class (in C# but I suppose this question is somewhat language independent) what is the correct way to deal with dependencies between properties?
For example where I want to create a property B whose value is derived in some way from the value of property A. Property B is undefined and should not be called if property A has not been set. Throwing an exception in B's getter if A has not been set hardly seems like an elegant way of handling this. Simply returning some default value from property B is not something I want to do.
One way is to enforce initialization of A through the constructor, but let's assume that a default constructor with no arguments is required so this is not an option.