none
I can't do simple things like string.toupper without an error message! RRS feed

  • Question

  • I'm adding code to a form, and I get the following message:
    Error 1 'string.ToUpper(System.Globalization.CultureInfo)' is a 'method', which is not valid in the given context

    This makes no sense to me.  Why shouldn't ordinary code work here?
    Its in a form called form1.cs.
    Thanks,
    Gideon

    GIDEON
    Sunday, December 5, 2010 12:16 PM

Answers

  • if (subFile.FullName.ToUpper().contains(".TXT"))
    
    you need to put perens on all method calls, even if there are no parameters. otherwise the system things you are calling a property rather than a method.
    • Proposed as answer by doas777 Sunday, December 5, 2010 11:03 PM
    • Marked as answer by Forever_newbie Monday, December 6, 2010 12:53 PM
    Sunday, December 5, 2010 10:31 PM

All replies

  • Hi,

    can you give us the exact code, that you added? Then we might be able to help you.

    With kind regards,

    Konrad

    Sunday, December 5, 2010 2:44 PM
  • ' HERE IS THE CODE - the very last line causes the error (not valid in the given context).  Probably most of this code is irrelevant, but who knows.
    -- Gideon
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    namespace MakeInsertStatements
    {
        public partial class Form1 : Form
        {
            string readfilename;
            string writefilename;
            string strglobalConcat;
            int globalpos = 0;
            const string OUTEXT = ".GID";

            public Form1()
            {
                InitializeComponent();
            }
            string ProcessTags(string strRead,out bool bError)
            {
                string stuffBefore;
                string Tag;
                bool starttag = true;
                bool havetag;
                string oldTag = "link";
                StringBuilder sb = new StringBuilder();
                string strTitle;
                string strBlurb;
                string strComment;
                string strLink;
                string strDate;
                string strDocumentType;
                string strSource;
                string strContent;
                string strHold;


                bError = false;
                initStrings(out strTitle,
                out strBlurb ,
                out strComment ,
                out strLink ,
                out strDate ,
                out strContent ,
                out strDocumentType,
                out strSource);

                havetag = getTag(strRead,out stuffBefore, out Tag,out bError);
                if (bError)
                {
                    return ("Error getting Tag");
                }
                while (havetag)
                {
                    /*sb.Append(Tag);*/
                    if (starttag && (Tag.Substring(0,1) == "/") )
                    {
                        MessageBox.Show("Tag <" + Tag + "> has no start tag. Previous words are: [" + stuffBefore + "]");
                        bError = true;
                        break;
                    }
                    if (!starttag)
                    {
                        if (Tag.Substring(1) != oldTag)
                        {
                            MessageBox.Show(oldTag + " occurs without matching end tag, context is [" + stuffBefore + "]");
                            bError = true;
                            break;
                        }
                    }
                    if (!starttag)
                    {
                        stuffBefore = stuffBefore.Replace("'","''").Trim(); /*sql server needs double blanks*/
                        switch (oldTag)
                        {
                            case "title":
                                strTitle = stuffBefore;
                                break;

                            case "blurb":
                                strBlurb = stuffBefore;
                                break;

                            case "comment":
                                strComment = stuffBefore;
                                break;

                            case "link":
                                strLink = stuffBefore;
                                break;

                            case "date":
                                strDate = stuffBefore;
                                break;

                            case "documenttype":
                                strDocumentType = stuffBefore;
                                break;

                            case "source":
                                strSource = stuffBefore;
                                break;

                            default:
                                MessageBox.Show("Error: Tag: " + oldTag + " is invalid");
                                bError = true;
                                break;
                        }
                        if (bError)
                        {
                            return ("Error parsing input file");
                        }
                        if ((oldTag == "link") && !bError)
                        {
                            if (strComment != "")
                            {
                                strComment = "/****************************/\n" + 
                                    "/*" + strComment + "*/\n";
                            }
                            else
                            {
                                strComment = "/****************************/\n";
                            }
                            getContent(out strContent, strLink);
                            if (strContent.Length > 0)
                            {
                                strContent = RemoveNoiseChars(strContent);
                            }
                            strContent = strContent.Replace("'", "''");
                            strHold = strComment + 
                            "INSERT INTO Article  (Title,Source,DatePublished,DocumentType,FileSize,Link,Blurb,Content) VALUES ('" +
                                strTitle +
                                "','" + strSource + "','" + strDate + "','" +
                            strDocumentType + "',100,'" + strLink +
                            "','" + strBlurb + "','" + strContent + "')\n\n";
                            initStrings(out strTitle,
                    out strBlurb,
                    out strComment,
                    out strLink,
                    out strDate,
                    out strContent,
                    out strDocumentType,
                    out strSource);
                            sb.Append(strHold);
                        }
                    }
                    starttag = !starttag;
                    oldTag = Tag;
                    havetag = getTag(strRead, out stuffBefore, out Tag, out bError);
                    if (bError)
                    {
                        return ("Error getting Tag");
                    }
                }
                 
                return (sb.ToString().Trim());
            }
            /******************************/
       void getContent(out string strContent,string strLink)
        {
            int startpos;
            int endpos;
            int length;
            string strQuote;

            strQuote = "\"";
            strContent = "";
            startpos = strglobalConcat.IndexOf(strQuote + strLink + strQuote);
            if (startpos < 0)
            {
                return;
            }
            startpos = strglobalConcat.IndexOf(">", startpos);
            if (startpos < 0)
            {
                return;
            }
            endpos = strglobalConcat.IndexOf("<", startpos);
            if (endpos < 0)
            {
                return;
            }
            length = endpos - startpos;
            strContent = strglobalConcat.Substring(startpos + 1, length-1);

        }

            bool getTag(string strRead,out string stuffBefore,out string Tag,out bool bError)
            {
                int StartPosition;
                int EndPosition;
                int length;

                bError = false;
                stuffBefore = "";
                Tag = "";
                StartPosition = strRead.IndexOf(Convert.ToChar("<"),globalpos);
                if (StartPosition < 0)
                {
                    return (false);
                }
                length = StartPosition - globalpos;
                stuffBefore = strRead.Substring(globalpos, length);
                EndPosition = strRead.IndexOf(Convert.ToChar(">"),StartPosition+1);
                if (EndPosition < 0)
                {
                    MessageBox.Show("Error: No End Bracket to Tag: " + strRead.Substring(StartPosition,20));
                    bError = true;
                    return (false);
                }
                Tag = strRead.Substring(StartPosition + 1, EndPosition - StartPosition - 1).Trim().ToLower();
                globalpos = EndPosition + 1;
                return (true);
            }
            private void Form1_Load(object sender, EventArgs e)
            {
            }
            string readfilecontents(string cfilename)
            {
                string strRead;
                FileStream readfile = new FileStream(cfilename, FileMode.Open, FileAccess.Read);
                StreamReader sr = new StreamReader(readfile);
                strRead = sr.ReadToEnd();
                sr.Close();
                return (strRead);
            }

            private string replaceExtension(string strIn,string newext)
            {
                string strOut;
                int lastindex;

                strOut = strIn;
                lastindex = strOut.LastIndexOf('.');
                if (lastindex < 0)
                {
                    strOut = strOut + newext;
                }
                else
                {
                    strOut = strOut.Substring(0, lastindex) + newext;
                }
                return (strOut);
            }

            void initStrings(out string strTitle,
                out string strBlurb ,
                out string strComment ,
                out string strLink ,
                out string strDate ,
                out string strContent ,
                out string strDocumentType,
                out string strSource)

            {
                strTitle = "";
                strBlurb = "";
                strComment = "";
                strLink = "";
                strDate = "";
                strContent = "";
                strDocumentType = "Article";
                strSource = "Jerusalem Post";
            }

            private void btnFinish_Click(object sender, EventArgs e)
            {
                string Inserts;
                string strRead;
                string txtFolder;

                System.Windows.Forms.DialogResult myResult;
                bool bError;

                myResult = this.openFileDialog1.ShowDialog( );
                /******************/
                if (myResult == DialogResult.Cancel)
                {
                    Application.Exit();
                }
                /*******************/
                readfilename = this.openFileDialog1.FileName;
                writefilename = replaceExtension(readfilename,OUTEXT);
                myResult = folderBrowserDialog1.ShowDialog();
                /******************/
                if (myResult == DialogResult.Cancel)
                {
                    Application.Exit();
                }
                txtFolder = folderBrowserDialog1.SelectedPath;
                strglobalConcat = ConcatenateTextFiles(txtFolder);

                FileStream writefile = new FileStream(writefilename, FileMode.Create, FileAccess.Write);
                FileStream readfile = new FileStream(readfilename, FileMode.Open, FileAccess.Read);
                StreamReader sr = new StreamReader(readfile);
                strRead = sr.ReadToEnd();
                sr.Close();
                /*
                There are several overloads for this constructor, but this is the easiest to use for this tutorial.

                FileMode specifies what the FileStream should do with the file to begin with. 
                 * The options are: Append, Create, CreateNew, Open, OpenOrCreate, or Truncate, and can be accessed by FileMode.option.

                FileAccess specifies the file priveledges. The options are: Read, ReadWrite, or Write, and can be accesed by FileAccess.option.


                Writing to a file:

                To write to a file we will need to use class StreamWriter, which is derived from the TextWriter class.
                */
                StreamWriter sw = new StreamWriter(writefile);

                /*
                The constructor for StreamWriter also has several overloads. The one showed here takes an instance of FileStream, instantiated above (file).

                With StreamWriter, you have two options for writing to a file: Write, or WriteLine. The Write method has 21 overloads, and the WriteLine method has 18, so you should have no problem finding the correct functionality to suit your programming needs.

                Here is a simple example:
                */
                Inserts = ProcessTags(strRead,out bError);
                sw.Write(Inserts);

                /*
                Now don't forget to close the stream when you are done!
                */
                sw.Close();
                MessageBox.Show("The output is in " + writefilename);
                Application.Exit();
            }
            /***************************************/
                string RemoveNoiseChars(string strParam) 
                {
            int preLen;
            int postLen;
            try
                    {
                strParam = strParam.Replace("!", "");
                strParam = strParam.Replace("&", "");

                strParam = strParam.Replace("-", "");
                strParam = strParam.Replace(":", "");
                strParam = strParam.Replace(";", "");
                strParam = strParam.Replace("\"", "");
                strParam = strParam.Replace(",", "");
                strParam = strParam.Replace(".", "");
                strParam = strParam.Replace("?", "");
                
                strParam = strParam.Replace(Convert.ToString(Convert.ToChar(10)), " ");
                strParam = strParam.Replace(Convert.ToString(Convert.ToChar(13)), " ");
                strParam = strParam.Replace(Convert.ToString(Convert.ToChar(9)), " ");
                /* get rid of apostrophes, but only in certain cases (not in midword)*/
                strParam = strParam.Replace( "' ", " ");
                strParam = strParam.Replace( " '", " ");

                while (true)
                {
                    preLen = strParam.Length;
                    strParam = strParam.Replace("  ", " ");
                    postLen = strParam.Length;
                    if (postLen >= preLen)
                    {
                        break;
                    }
                }
                    }
            catch 
                    {
                strParam = "";
                    }


            return (strParam);
                }
            /*******************/
    string ConcatenateTextFiles(string txtFolder)
    {
        string startTag;
        string endTag = "</content>";
        string strRead;
        StringBuilder sb = new StringBuilder("");

        DirectoryInfo di = new DirectoryInfo(txtFolder);

        if (di != null)
        {
            FileInfo[] subFiles = di.GetFiles( );
            if (subFiles.Length > 0)
            {
                foreach (FileInfo subFile in subFiles)
                {
                    if (subFile.FullName.ToUpper.contains(".TXT"))

    GIDEON
    Sunday, December 5, 2010 9:23 PM
  • if (subFile.FullName.ToUpper().contains(".TXT"))
    
    you need to put perens on all method calls, even if there are no parameters. otherwise the system things you are calling a property rather than a method.
    • Proposed as answer by doas777 Sunday, December 5, 2010 11:03 PM
    • Marked as answer by Forever_newbie Monday, December 6, 2010 12:53 PM
    Sunday, December 5, 2010 10:31 PM