.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
Sign In
Win Surprise Gifts!!!

Top 5 Contributors of the Month
Gaurav Pal
Post New Web Links

Serializing objects which implement IEnumerable<>

Posted By:      Posted Date: August 28, 2010    Points: 0   Category :.NET Framework
Hi, I'm trying for long time to serialize an object which contains an object which implements IEnumerable<>. The last object also contains an object which implements IEnumerable<>. The objects strucutre is as followed: [Serializable] public class A { public B _b {get; set; } } [Serializable] public class B : IEnumerable<C> { public List<C> c_items {get; set;} public void Add (C obj){} } [Serializable] public class C : IEnumerable<D> { public List<D> d_items {get; set;} public void Add (D obj){} } [Serializable] public class D { public int Key {get; set;} public int Value {get; set;} } In the code line: A obj = new A(); XmlSerializer serializer = new XmlSerializer(obj.GetType()); I'm getting the exception: unable to generate temporary class (result=1), error CS0030: Cannot convert type 'C' to type 'D'... When I remove the IEnumerable implementation from one of B or C, the serialization works. What as I getting wrong? Any help would be appreciated!

View Complete Post

More Related Resource Links

Toolbox: Serializing objects, Scott Allen's blog, Site Performance, and more


Serialize and Deserialize Fixed Length and Delimited Files, Scott Allen's blog, inspecting Web Pages, and more.

Scott Mitchell

MSDN Magazine August 2008

Propagate Error Info: Use ATL and C++ to Implement Error-Handling COM Objects


Predefined error codes returned from HRESULT aren't always much help for debugging COM C++ code. The C++ macros provided with this article produce an XML file listing the error and its context to make debugging easier. This article begins with an overview of error handling in COM, then discusses the COM interfaces used in the macros. It explains how C++ exceptions are caught and converted to COM-compatible error information, how events are logged with the event viewer, and how context is reported in the description string of IErrorInfo. The macros handle logic errors and errors returned by an object or API.

Panos Kougiouris

MSDN Magazine October 2000

How to implement Bounding Box(Multiple selection of objects) and grouping as implemented in Photosho

Hello Everybody, I am working on Winform with SVG,PVG(these are the format used ofr WPF, not using XAML) for a Publishing application. I want to implement the multiselect of different objects and scaling to them and also grouping them and implementing rotating and moving and sacling the objects as group . I want the exact/some pont near to what photoshop/Scribus has implemented in their application. Thanks, Himanshu

Linq to SQL does not implement System.Collections.IEnumerable


I am having a lot of the same issue as this poster did with errors on initializing type.

I am trying to learn linq and am about ready to give up - don't get how this is easier...Yell

I'm trying to do a simple update to product names in the product table based on the manufacturer ID

In order to do this I am looping through each record.  I was initally successful with changing all names in the column but when I try to query the data, I continually run into multiple problems.


The following poster has had the same issue I have but his solution isn't working for me. 


I keep getting the same error on the opening bracket on the select statement in the SelectByManufacturerID function...

Error 1 Cannot initialize type 'DataBaseDataManagement.ProductName' with a collection initializer because it does not implement 'System.Collections.IEnumerable'


Button that does the actual updating...

        protected void btnQuery_Click(object sender

Serializing large objects in .NET



I have some code which essentially converts from one object type to another by serializing the object and writing to an XmlDocument and saving, then loading the file and deserialising to the new object type. The types are actually the same structure however are from difference WCF services. This works fine until I encountered a very large object and the xmlSerializer throws an out of memory exception. Is there any other way I can convert between these 2 types?

public static bool ConvertMe(Service1.MyObj myobj1, ref Service2.MyObj myobj2)
  XmlSerializer s = new XmlSerializer(typeof(Service1.MyObj));
  StringWriter sw = new StringWriter();
  XmlTextWriter xw = new XmlWriter(sw);

  s.Serialize(xw, myobj1);
  XmlDocument doc = new XmlDocument ();

  TextReader tr = new StreamReader("c:\\test.xml");
  XmlSerializer s2 = 

Need help with objects and arrays


I have an objuct that I declared like this:

    Class DailyStats
        Dim _day As String
        Dim _hour As String
        Dim _impressions As String
        Dim _clicks As String
        Property Day() As String
                Return _day
            End Get
            Set(ByVal value As String)
                _day = value
            End Set
        End Property
        Property Hour() As String
                Return _hour

how implement transformations in slideshow extender.



i am working on ajax slideshow extender.

can anybody help in coding for 

1) implement transformations between slide to slide.

2) and the direction means orientation in changing of slides.

I hope u got my querries.

please help in this regard.

thanks in advance.

how implement this code


check this link

and how can i implement on aspx page to get value on textbox


How to check for null/empty strings on dynamic objects?


What is the proper way to check for null or empty strings on dynamic objects? This is the only solution I've found so far:

if (admin.PasswordHash.GetType() == typeof(DBNull) || admin.PasswordHash == string.Empty)

If the field is null, the object returned is DBNull.Value, but if the field is empty string, it's return as a System.String object. This makes it impossible to do regular "admin.PasswordHash == DBNull.Value" check, as that will fail whenever the field has been set to empty string. Is my example the right (and only) way to go?

how to serialize objects ??


Is there any way or process to serialize the the objects?? i am trying to store the instance of few control in viewstate but it shows error msg that it is not a serialized object. should i perform some steps to serialize the objects ???

Serializing XML and storing as XML in Database


Hi All,

I know this may sound a daft question but I'm wanting to save Serialized XML into a databse but for the life of me I cant do it.

So far I have my class

public static void SerializeToXML(Candidate candidate)
            XmlSerializer serializer = new XmlSerializer(typeof(Candidate));
            TextWriter textWriter = new StreamWriter(@"C:\movie.xml");            
            serializer.Serialize(textWriter, candidate);

This basically save the serialized properties in the Candidate class into the movie.xml file which is great but I want it to return XML (so it can be re-used) so I can store the XML in the XML database field

Any help would be greatly appreciated



How to implement custom HttpContext for each request under class that implements IHTTPHandler


Hello All,

I created an application and implemented IHTTPHandler for all incoming request ending with ".aspx" extension.

Under "ProcessRequest" module, I am creating an instance of HttpContext (with URL attributes different from my application's URL i.e. if I am working on localhost then speciying Yahoo.com as its URL) and assigning it to "context" which comes as method argument.

After redirection, an error is generated. Also, the custom HTTPContext is not passed to the requested page (default.aspx, in my case.)

Code is as follows.

    Public Sub ProcessRequest(ByVal context As System.Web.HttpContext) Implements System.Web.IHttpHandler.ProcessRequest
            Dim requestedUrl As String
            Dim targetUrl As String
            Dim urlLength As Integer
            'Save settings which will be used while redirecting to appropriate page
            requestedUrl = context.Request.RawUrl
            If requestedUrl.IndexOf("?") >= 0 Then
                targetUrl = requestedUrl.Substring(0, requestedUrl.IndexOf("?"))
                targetUrl = requestedUrl
            End If
            If targetUrl = Nothing Or targetUrl.Length = 0 Then
                targetUrl = requestedUrl
            End If

Class which contains an array of objects of type "Class2"



1  Partial Class _Default
2  Inherits System.Web.UI.Page

3 Public Function Ohjoy(ByVal X As Integer) As Integer
4 Dim theClass As New Class1 '= New Class1()
5    theClass.ReSize(0)
6    theClass.myBaby(0).GetName(0) = "Hello" 'Property Chars is read only'
7    Return 1
8 End Function
I have a first class named "Class1". I have a second class named "Class2" Class2, is a member of class 1,
and is implemented as an array of objects of type Class 2.

If I try and call the Accessor GetName() my hard coded value "Hello" in my accessor is not returned? Only
an alpha character like "T"

Also if I try and assigne a value using the setter GetName() it does not work, and the compiler gives me
an error message "property Chars is ReadOnly? Does anyone know what is wrong in my code? Line 6 above


Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
End Sub
End Class

Public Class Class1
    Dim bs As Integer
    Public myBaby() As Class2
    Public myB As Class2
    Public Function ReSize(By

Cutting Edge: Expando Objects in C# 4


The .NET Framework 4 introduces some new features that enable you to go beyond static types. We explore dynamically expando objects and demonstrate how they can be used like dynamically updatable dictionary objects.

Dino Esposito

MSDN Magazine July 2010

Cutting Edge: Pros and Cons of Data Transfer Objects


After a brief refresher on procedural and object based patterns for organizing the business logic layer, the author focuses on data transfer objects and the impact they have on the development of the software project.

Dino Esposito

MSDN Magazine August 2009

Test-Driven Design: Using Mocks And Tests To Design Role-Based Objects


Use Test-Driven Development with mock objects to design object oriented code in terms of roles and responsibilities, not categorization of objects into class hierarchies.

Isaiah Perumalla

MSDN Magazine June 2009

Basic Instincts: Inspecting COM Objects With Reflection


Reflection is useful for debugging and logging and otherwise providing the type information you need. Here you'll see how to use reflection on COM types.

Lucian Wischik

MSDN Magazine January 2009

ASP.NetWindows Application  .NET Framework  C#  VB.Net  ADO.Net  
Sql Server  SharePoint  Silverlight  Others  All   

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend