Click here to Skip to main content
11,806,818 members (57,827 online)
Rate this: bad
Please Sign up or sign in to vote.
See more: C# service

I am trying to get the list of sub-directories of a directory from svc service, but it shows an error --

The type System.IO.FileSystemInfo cannot be deserialized as it doesn't has parameter less public constructor.

Please help me out from this situation.

Code Snippet--

private System.Collections.Generic.List<DirectoryInfo> GetSubDirectories(string directoryPath)
        DirectoryInfo dir = new DirectoryInfo(directoryPath);
        DirectoryInfo[] dirs = dir.GetDirectories();
        System.Collections.Generic.List<DirectoryInfo> childs = new System.Collections.Generic.List<DirectoryInfo>();
        foreach (DirectoryInfo dir1 in dirs)
           // XmlObjectSerializer xml_serial = new XmlObjectSerializer(typeof(XML_directory));
        return childs;
    catch (Exception) { return null; }
    //return null;
Posted 8-Mar-13 5:28am
Edited 8-Mar-13 6:14am
sjelen at 8-Mar-13 12:11pm
Improve your question with some relevant code, so we can see what you are trying to do.

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

My first suggestion would have been to try to create an inherited object from the directoryinfo class. But it is sealed. Anyway I would not recomend to you to return with a list of DirectoryInfo. I would create a DTO (Data Transfer Object). See the following:

The DTO:
public Class DirectoryInfoDTO
  public DateTime CreationTime {get ; set;}
  public string Name {get ; set;}

And then the code: // Include: System.Linq;
var result = dirs.Select((a,b) => new DirectoryInfoDTO()
                      Name = a.FullName,
                      CreationTime = a.CreationTime

the result will be a collection of DirectoryInfoDTO

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 ppolymorphe 245
1 OriginalGriff 150
2 George Jonsson 145
3 CPallini 100
4 Abhinav S 80
0 OriginalGriff 3,380
1 Maciej Los 1,990
2 CPallini 1,915
3 KrunalRohit 1,907
4 ppolymorphe 1,317

Advertise | Privacy | Mobile
Web01 | 2.8.151002.1 | Last Updated 12 Mar 2013
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100