Data members are resolved (assigned values) during compilation. If the expression for the data member includes variables that will change at run-time, then you must use a property instead of that data member.