Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. Is Interface implementation Correct

Is Interface implementation Correct

Scheduled Pinned Locked Moved C#
xml
2 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N Offline
    N Offline
    Navneet Hegde
    wrote on last edited by
    #1

    Dear All, To know the IEnumerable Interface I have done one demo Aplication please let me know whether there is anything wrong in my approach.

    class MyFile : FileSystemInfo
    {
    private FileInfo _strFile;
    public MyFile(FileInfo strFile)
    {
    _strFile = strFile;
    }

        public override void Delete()
        {
            \_strFile.Delete(); 
        }
    
        public override bool Exists
        {
            get 
            {
                if (\_strFile.Exists)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            
            }
        }
    
        public override string Name
        {
            get { return \_strFile.Name;}
        }
    }
    

    class MyFiles : IEnumerable<MyFile>
    {
    private string _directoryPath;
    private string _fileExtension = "xml";

        public MyFiles(string directoryPath)
        {
            \_directoryPath = directoryPath;
        }
    
        public string FileExtension
        {
            get { return \_fileExtension; }
            set { \_fileExtension = value; }
        }
    
        #region IEnumerable<MyFile> Members
    
        public IEnumerator<MyFile> GetEnumerator()
        {
            DirectoryInfo di = new DirectoryInfo(\_directoryPath);
            FileInfo\[\] rgFiles = di.GetFiles("\*." + \_fileExtension);
            foreach (FileInfo fi in rgFiles)
            {
                MyFile ss = new MyFile(fi);
                yield return ss;
            }
        }
    
        #endregion
    
        #region IEnumerable Members
    
        IEnumerator IEnumerable.GetEnumerator()
        {
            DirectoryInfo di = new DirectoryInfo(\_directoryPath);
            FileInfo\[\] rgFiles = di.GetFiles("\*." + \_fileExtension);
            foreach (FileInfo fi in rgFiles)
            {
                MyFile ss = new MyFile(fi);
                yield return ss;
            }  
        }
    
        #endregion
    
    }
    

    Here is it's implementation :

     static void Main()
        {
            MyFiles myFS = new MyFiles(@"D:\\TestInterface");
            foreach(MyFile FS in MyFiles)
            {
                Console.WriteLine(FS.Name);
                Console.ReadLine(); 
            }
            
        }
    

    Here I am trying to Iterate the Files in Certa

    L 1 Reply Last reply
    0
    • N Navneet Hegde

      Dear All, To know the IEnumerable Interface I have done one demo Aplication please let me know whether there is anything wrong in my approach.

      class MyFile : FileSystemInfo
      {
      private FileInfo _strFile;
      public MyFile(FileInfo strFile)
      {
      _strFile = strFile;
      }

          public override void Delete()
          {
              \_strFile.Delete(); 
          }
      
          public override bool Exists
          {
              get 
              {
                  if (\_strFile.Exists)
                  {
                      return true;
                  }
                  else
                  {
                      return false;
                  }
              
              }
          }
      
          public override string Name
          {
              get { return \_strFile.Name;}
          }
      }
      

      class MyFiles : IEnumerable<MyFile>
      {
      private string _directoryPath;
      private string _fileExtension = "xml";

          public MyFiles(string directoryPath)
          {
              \_directoryPath = directoryPath;
          }
      
          public string FileExtension
          {
              get { return \_fileExtension; }
              set { \_fileExtension = value; }
          }
      
          #region IEnumerable<MyFile> Members
      
          public IEnumerator<MyFile> GetEnumerator()
          {
              DirectoryInfo di = new DirectoryInfo(\_directoryPath);
              FileInfo\[\] rgFiles = di.GetFiles("\*." + \_fileExtension);
              foreach (FileInfo fi in rgFiles)
              {
                  MyFile ss = new MyFile(fi);
                  yield return ss;
              }
          }
      
          #endregion
      
          #region IEnumerable Members
      
          IEnumerator IEnumerable.GetEnumerator()
          {
              DirectoryInfo di = new DirectoryInfo(\_directoryPath);
              FileInfo\[\] rgFiles = di.GetFiles("\*." + \_fileExtension);
              foreach (FileInfo fi in rgFiles)
              {
                  MyFile ss = new MyFile(fi);
                  yield return ss;
              }  
          }
      
          #endregion
      
      }
      

      Here is it's implementation :

       static void Main()
          {
              MyFiles myFS = new MyFiles(@"D:\\TestInterface");
              foreach(MyFile FS in MyFiles)
              {
                  Console.WriteLine(FS.Name);
                  Console.ReadLine(); 
              }
              
          }
      

      Here I am trying to Iterate the Files in Certa

      L Offline
      L Offline
      leppie
      wrote on last edited by
      #2

      Navneet Hegde wrote:

      IEnumerator IEnumerable.GetEnumerator()

      You dont really need to provide an implementation for that too. Simply return the generic IEnumerable, ie: return GetEnumerator(); Everything else looks fine :)

      xacc.ide - now with TabsToSpaces support
      IronScheme - 1.0 alpha 4a out now (29 May 2008)

      1 Reply Last reply
      0
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      • Login

      • Don't have an account? Register

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • World
      • Users
      • Groups