简体   繁体   中英

c# add new namespace to project

How can I add a namespace to ac# 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;
        }
    }
}

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)

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

Read this introduction to namespaces and assemblies on MSDN.

(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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM