Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 5980913
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 22, 20262026-05-22T21:52:09+00:00 2026-05-22T21:52:09+00:00

what is the valid argument for IEnumerator on TreeNode? i got the error on

  • 0

what is the valid argument for IEnumerator on TreeNode?

i got the error on this line:

IEnumerator ie = tn.Nodes.GetEnumerator();

in this method:

private void parseNode(TreeNode tn)
    {
        IEnumerator ie = tn.Nodes.GetEnumerator();

        string parentnode = "";

        parentnode = tn.Text;

        while (ie.MoveNext())
        {
            TreeNode ctn = (TreeNode)ie.Current;

            if (ctn.GetNodeCount(true) == 0)
            {
                _nodeToString += ctn.Text;
            }
            else
            {
                _nodeToString += "<" + ctn.Text + ">";
            }
            if (ctn.GetNodeCount(true) > 0)
            {
                parseNode(ctn);
            }
        }

        _nodeToString += "</" + parentnode + ">";
        _nodeToString += "\n";
    }
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-22T21:52:10+00:00Added an answer on May 22, 2026 at 9:52 pm

    (from comments)

    Using the generic type ‘System.Collections.Generic.IEnumerator’ requires ‘1’ type arguments

    That means you have

    using System.Collections.Generic;
    

    and not

    using System.Collections;
    

    switch to the latter and it will work. IEnumerable / IEnumerator are the non-generic API.

    Or better: use foreach – it is simpler, safer and more correct (you didn’t remember to check for IDisposable, for example).

    Additional notes:

    • concatenating strings in a loop is very bad – it causes telescopic string allocations (i.e. lots of intermediate strings); something like StringBuilder is preferred by a long margin
    • building xml by hand is not ideal – you need to encode etc; XmlWriter would be ideal

    so IMO: use an XmlWriter that writes to a StringBuilder, using foreach

    Untested, but something like:

        private string parseNode(TreeNode tn)
        {
            var sb = new StringBuilder();
            using (var writer = XmlWriter.Create(sb))
            {
                writer.WriteStartElement("xml");
                parseNode(tn, writer);
                writer.WriteEndElement();
            }
            return sb.ToString();
        }
        private void parseNode(TreeNode tn, XmlWriter writer)
        {
            if (tn.Nodes.Count > 0)
            {
                writer.WriteStartElement(tn.Text);
                foreach (TreeNode child in tn.Nodes)
                {
                    parseNode(child, writer);
                }
                writer.WriteEndElement();
            }
            else
            {
                writer.WriteString(tn.Text);
            }
        }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I get this error Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result
Whose argument will contain string data consisting of a valid email address. this function
than higher level languages such as Java C#... is this argument valid? I'm new
What's wrong with my code? I keep getting this error: Warning: mysql_query(): supplied argument
I'm getting the error *Warning: fwrite(): supplied argument is not a valid stream resource
I am getting the error: Warning: mysql_num_rows(): supplied argument is not a valid MySQL
Possible Duplicate: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result This is
Possible Duplicate: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result I've this
I am getting this error in my code now: Warning: mysql_num_rows(): supplied argument is
Error : specific argument was out of range of valid value parameter name :

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.