tee
tee

Reputation: 155

c# add new namespace to project

How can I add a namespace to a c# project? I am a beginner.

if(!string.IsNullOrEmpty(result))
{
    CoderBuddy.ExtractEmails helper = new CoderBuddy.ExtractEmails(result);
    EmailsList = helper.Extract_Emails;
}

My Form1 needs to use the namespace below:

// this is the file that I need to add
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
namespace Coderbuddy
{
    public class ExtractEmails
    {
        private string s;
        public ExtractEmails(string Text2Scrape)
        {
            this.s = Text2Scrape;
        }
        public string[] Extract_Emails()
        {
            string[] Email_List = new string[0];
            Regex r = new Regex(@"[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}", RegexOptions.IgnoreCase);
            Match m;
            //Searching for the text that matches the above regular expression(which only matches email addresses)
            for (m = r.Match(s); m.Success; m = m.NextMatch())
            {
                //This section here demonstartes Dynamic arrays
                if (m.Value.Length > 0)
                {
                    //Resize the array Email_List by incrementing it by 1, to save the next result
                    Array.Resize(ref Email_List, Email_List.Length + 1);
                    Email_List[Email_List.Length - 1] = m.Value;
                }
            }
            return Email_List;
        }
    }
}

Upvotes: 2

Views: 22803

Answers (3)

Allison Lock
Allison Lock

Reputation: 2393

(I am assuming you need to add that second file to your own project. If it is already part of another project in your solution, then add it as a project reference as Darkhydro has answered.)

You don't need to explicitly add namespaces to your project. The namespace declaration in line 6 of the file that you need to use does it implicity.

For this example, add a blank file called ExtractEmails.cs to your project (the convention if a file contains only one class definition is to name the file after the class), and then paste that code into it. Boom - namespace added :)

In your form code, you are already using the fully qualified name of the class (that is, you are mentioning the namespace in the line

CoderBuddy.ExtractEmails helper = new CoderBuddy.ExtractEmails(result);

so you don't need a "using" statement.

If you did add "using CoderBuddy;" to the top of your form's .cs file, then that line could change to

ExtractEmails helper = new ExtractEmails(result);

But in this case I would leave it as you already have it, because the namespace hints at the fact that the ExtractEmails code is slightly separated from the rest of your code.

Upvotes: 2

Filip Ekberg
Filip Ekberg

Reputation: 36327

Put this at the top of your code-behind file: using Coderbuddy;

Read this introduction to namespaces and assemblies on MSDN.

Upvotes: 4

tzup
tzup

Reputation: 3604

Well, add a using statement in your .cs page

using Coderbuddy;

Then your code can access the methods exposed by this type.

OR, put your winform .cs file in the same namespace (not a recommended idea)

Upvotes: 5

Related Questions