954,510 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Calling Method from Another Class / Namespace

Hey folks.

I've just took up a course in C# and so this is part of a homework. I've tried various attempts but to no avail and so I thought I'd ask on here.

I have been asked to write a class to verify if a valid double has been entered in a textbox on a form. Once the string is entered in the main class, another class will be called to convert the given string into a double and if conversion, validate that the converted value is within a given range. I have to write various methods with different parameters (overload). Here is my attempt below:

namespace Assignment_3
{
    public class InputUtility
    {
        public static bool GetDouble(string stringToConvert, out double dblOutValue, double minLimit, double maxLimit)
        {
            if (double.TryParse(stringToConvert, out dblOutValue))
            {
                if ((dblOutValue >= minLimit) && (dblOutValue <= maxLimit))
                {
                    return true;
                }
            }
            return false;
        }


        public static bool GetDouble(string stringToConvert, out double dblOutValue, double minLimit)
        {
            if (double.TryParse(stringToConvert, out dblOutValue))
            {
                if ((dblOutValue >= minLimit))
                {
                    return true;
                }
            }
            return false;
        }

        public static bool GetDouble(string stringToConvert, out double dblOutValue)
        {
            if (double.TryParse(stringToConvert, out dblOutValue))
            {
                return true;                
            }
            return false;
        }


In my main form, I have a textbox called numText. Now when a user enters a number into this, I need it to initially be checked against the first and if parameters not applicable, the second method etc in the above namespace and class. If a valid input entry (ie. a double), I want the number to populate the numText.text field however if invalid, an error message to pop up.

I am happy with writing the error message etc but I'm just unsure how to cross reference the double entered by the user to another classname and the overloaded methods as above.

The class that the numText entry will be in is:-

private bool ReadAndValidatePrice(out double price)


Any suggestions?

scrivomcdivo
Newbie Poster
13 posts since Jan 2011
Reputation Points: 11
Solved Threads: 0
 

Since they are static methods you just use the class name followed by the method:

InputUtility.GetDouble(...)
Momerath
Nearly a Senior Poster
3,384 posts since Aug 2010
Reputation Points: 1,232
Solved Threads: 558
 

Since they are static methods you just use the class name followed by the method:

InputUtility.GetDouble(...)

Thanks Momerath.

How do I actually introduce the inputted string to the class though? I assume I have to assign a variable to my user input

eg: string numChoice = txtNumTxt.text

but how do I then assign that variable to be processed by the InputUtility.GetDouble method? In the InputUtility.GetDouble method, the variable number to be processed would appear to be assigned to the variable, stringToConvert. How do I get my user entered number in the different class to be processed as this (if that makes sense?)

The way I am thinking is that the user enters the number, it then gets assigned to a string variable in the main namespace and ReadAndValidatePrice(out double price) class and then from there, it is then processed via the GetDouble method in the InputUtility method class. If the string can be parsed, how does the GetDouble method then return the double value though which in turn is then passed to the variable, 'price' as outlined in my ReadAndValidatePrice(out double price) method. I assume I do no parsing at all in the ReadAndValidatePrice(out double price) method? I've tried a million and one different ways of passing this code but always seem to generate an error.

Thanks in advance again :)

scrivomcdivo
Newbie Poster
13 posts since Jan 2011
Reputation Points: 11
Solved Threads: 0
 

Try this:

InputUtility.GetDouble(numChoice);   //Pass your text into the method


It's simply this.... CLASSNAME.METHODNAME() ...any parameters go in the paranthesis and are seperated by commas. http://msdn.microsoft.com/en-us/library/f02979c7.aspx On the TryParse method...

http://www.java2s.com/Code/CSharp/Language-Basics/Illustratestheuseofoutparameters.htm On the use of "out" in method parameters

*Note: this confused me a good deal, never seen the out parameter before. Its confusing since it seems like it needs more than one parameter. Just remember that "out" means the method is only returning values, not taking them in.

Let me know how it goes! First time I have ever given advice, usually just on the receiving end.....

bribissell
Newbie Poster
3 posts since Jul 2011
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You
View similar articles that have also been tagged: