> If there is a better way that doesn't require rewriting from > scratch, then I am all ears.
Oh really? I gave you a suggestion 7.5 hours before this message was sent. You complained: > So all of that code would have to be rewritten > if we made the FullName/Date readyonly And I replied: > I don't think anyone suggested that solution. The set() > implementation can parse the long string into the real, > internal fields with ease. That's it. That's all there is to it. Just turn your implementation inside-out. More specifically (apologies for syntax; I'm used to C#): You currently have one private field, a buffer _Line. Get rid of that. Replace it with two strings, _Fname and _Lname. Then Public Property FullNameFormatted() As String Implements Name.FullName Get Return _Fname.Substr(10).PadRight(10) + _Lname.Substr(10).PadRight(10) End Get Set(ByVal value As String) _Fname = Mid(_Line, 1, 10).Trim() _Lname = Mid(_Line, 11, 10).Trim() End Set End Property Public Readonly Property FullNameNatural() As String Get Return _Fname + " " + _Lname End Get End Property Public Property FirstName() As String Implements Name.FirstName Get Return _Fname End Get Set(ByVal value As String) _Fname = value End End Property Public Property LastName() As String Implements Name.LastName Get Return _Lname End Get Set(ByVal value As String) _Lname = value End End Property Beyond this, consider reading up on OO as suggested, as your Class1 thing is kinda weird (or maybe that's just due to being a Q&D sample). I also suggest looking at "Design Patterns" by Gamma et al, particularly in this case for the Factory patterns. http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Profess ional/dp/0201633612 =================================== This list is hosted by DevelopMentorĀ® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com