Click here to Skip to main content
15,892,298 members

Comments by RWey (Top 1 by date)

RWey 2-Sep-10 21:15pm View    
First, I fixed a typo in the call to DeepClone() ... sorry. I think, nevertheless, you get the gist.

And yes ... selectedMembers, while a list of MyBaseObject, does contain derivatives of MyBaseObject.

Again, tho, I'm puzzled as to why the run-time thinks the serialization has anything to do with the TabPage from which I'm calling the DeepClone() method. I would think that all it should care about is the type of class specified in the DeepClone( ... ) call. Even if the serialization is having problems when it encounters derived types of MyBaseObject, I would certainly think the thrown exception would state something a little more germain ... not complain that the TabPage making the call isn't marked as serializable.

One suspicion I had regarding the strange error was that selectedMembers was declared as a field within my TabPage derivative. To test this, I moved selectedMembers into the "superGroup" ( which is derived from MyBaseObject ), and basically moved the foreach iterator into the superGroup as well. Thus, all serializing was contained within a MyBaseObject derivative, with the only link to the TabPage being a simple method call to "Copy those items now". That threw the same exception ... again complaining about the TabPage not being marked serializable.

It makes no sense. Obviously I'm missing something.

BTW, I'm using VS2005.