Serialization...Didn't think of that one.  I think that just might
work.

Thanks

On Mar 8, 8:25 am, "Lee Gunn" <[email protected]> wrote:
> Hi,
>
> Yeah sounds like there is mayeb a flaw in the design as I cant think why you 
> would want to do this...
>
> But, you could also perhaps look into serialisation/deserialisation...
>
> I.e. serialise Foo and then deserialise to Bar (and the properties which are 
> not int the serialised Foo will just default in the deserialised Bar)
>
> lee
>
> http://www.jiba-jaba.com
> -- The Home of Public Microblogging
>
> http://www.secretorange.co.uk
> -- Glasgow based software development
>
> ________________________________
>
> From: [email protected] on behalf of Tanvir Faraj
> Sent: Sun 08/03/2009 15:21
> To: [email protected]
> Subject: [DotNetDevelopment] Re: Convert base type into derived type
>
> Hi, I would recommend you to double check your design, since, may be
> there are flaws whichs why you need to convert a base type to
> inherited type. However, I would prefer the static way to to do this.
>
> cheers...
> tfr
>
> On Sat, Mar 7, 2009 at 11:25 AM, Charles A. Lopez
>
> <[email protected]> wrote:
> > i am thinking inheritance and operator overloading over here.
>
> > On Fri, Mar 6, 2009 at 6:09 PM, Joe Enos <[email protected]> wrote:
>
> >> I've got a scenario that I'm hoping to find a shortcut for.  I have a
> >> base class and a derived class - the derived class adds additional
> >> properties.  For example:
>
> >> public class Foo {
> >>        public int Prop1 { get; set; }
> >>        public int Prop2 { get; set; }
> >> }
>
> >> public class Bar : Foo {
> >>        public int Prop3 { get; set; }
> >> }
>
> >> Suppose I have a Foo, and want to convert it to a Bar (obviously Prop3
> >> would be empty) - I don't care if it's a cast or a convert.  I can
> >> think of several ways of doing this:
> >>  - create a constructor in Bar that accepts a Foo, then one-by-one
> >> assign the values of Prop1 and Prop2 to the new instance's Prop1 and
> >> Prop2.
> >>  - create a static method ConvertToBar(Foo foo) that does the same
> >> thing
> >>  - use reflection to retrieve the values of all properties of the Foo
> >> and assign to a new Bar.
>
> >> I can't put an explicit or implicit conversion operator in Foo,
> >> because Bar derives from Foo, and for some reason (which I'm sure
> >> makes a lot of sense to someone) the compiler won't let me do that.
>
> > The logic would become cyclical and collapse on it's own weight.
>
> >> Even if I could, I'd still have to assign the properties one at a
> >> time.
>
> >> Any ideas?  I'd rather not use reflection, but that seems to be the
> >> only way to do this using the smallest amount of code and allowing for
> >> new properties to be added to Foo without a code change to Bar - there
> >> are a couple dozen properties in Foo, and only one or two extra
> >> properties in Bar, so I'm hoping there's some trick out there that
> >> would save me from doing this.
>
> >> Thanks
>
> >> Joe
>
>
>
>  winmail.dat
> 9KViewDownload

Reply via email to