Ion Todirel said:
you may also want to make  the constructor of the Range class internal, to force the user to use it via Get class (if you use first approach), I would suggest to use the second one, but the first one looks cooler...
I'd be honest and say I don't think it adds anything or makes it really different, to me it just serves as a barrier for people to realize whats actually going on here..