打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Creating C# Class Library (DLL) Using Visual Studio .NET

Creating a DLL using Visual C# ispiece of cake. Believe me its much easier than VC++. I have divided thistutorial in two parts. 1. Building a Class Library, and 2. Building aclient application to test the DLL.

Part 1: Creating a Class Library (DLL)

Createan Empty Class Library Project

Select File->New->Project->VisualC# Projects->Class Library. Select your project name andappropriate directory using Browse button and click OK. See Figure 1.

Figure 1.

Projectand Its files

The Solution Exploreradds two C# classes to your project. First is AssemblyInfo.csand second is Class1.cs.  We don't care about AssemblyInfo. Wewill be concentrating on Class1.cs. See Figure 2.

Figure 2.

ThemcMath Namespace

When you double click onClass1.cs, you see a namespace mcMath. We will be referencing thisnamespace in our clients to access this class library.

using System;

namespace
mcMath
{

///
<summary>

///
Summary description for Class1.
/// </summary>

public class
Class1
{

public
Class1()
{
//
// TODO: Add constructor logic here
//
}
}
}

Now build this projectto make sure every thing is going OK. After building this project, youwill see mcMath.dll in your project's bin/debug directory. 

Adding Methods 

OpenClassView from your View menu. Right now it displays only Class1 with nomethods and properties. Lets add one method and one property. SeeFigure 3.

Figure 3.

Right click on Class1->Add->AddMethod...  See Figure 4.

Figure 4.

C# Method Wizard popsup. Add your method name, access type, return type, parameters, and evencomments.  Use Add and Remove buttons to add and remove parameters fromthe parameter list respectively. I add one test method calledmcTestMethod with no parameters. See Figure 5.

Figure 5.

I am adding one moremethod long Add( long val1, long val2 ). This method adds twonumbers and returns the sum. Click Finish button when you're done. SeeFigure 6.

Figure 6.

The above action addstwo method to the class and methods look like following listing:

/// <summary>
/// //This is a testmethod
/// </summary>
public voidmcTestMethod()
{  
}

public long
Add(longval1, long val2)
{  
}

AddingProperties

Open C#Property Wizard in same manner as you did in the case of method and add aproperty to your class. See Figure 7.

Figure 7.

This action launches C#Property Wizard. Here you can type your property name, type and access.You also have options to choose from get only, set only or get and setboth. You can even select if a property is static or virtual. I add aproperty Extra with public access and bool type and get/set option set.See Figure 8.

Figure 8.

After adding a methodand a property, our class looks like Figure 9 in Class View afterexpanding the class node.

Figure 9.

If you look your Class1class carefully, Wizards have added two functions to your class. 

/// <summary>
/// //This is a test property
/// </summary>
public bool Extra
{
get
{
returntrue;
}
set
{
}
}

Adding Code to the Class 

Add thiscode ( bold ) to the methods and property now. And now I want tochange my Class1 to mcMathComp because Class1 is quiteconfusing and it will create problem when you will use this class in aclient application. Make sure you change class name and its constructorboth.

Note:I'm not adding any code to mcTestMethod, You can add any thing if youwant.

using System;

namespace
mcMath
{

///
<summary>

///
Summary description for Class1.
/// </summary>

public class
mcMathComp
{
private bool bTest = false
;

public mcMathComp()
{
// TODO: Add constructor logic here
}

///
<summary>

///
//This is a test method
/// </summary>

public void
mcTestMethod()
{ }

public long Add(long val1, long val2)
{
return
val1 +val2;
}

/// <summary>
///
//This is a test property
/// </summary>

public bool
Extra
{
get

{
return
bTest;
}
set

{
bTest = Extra ;
}
}
}
}

Build the DLL

Now build the DLL andsee bin\debug directory of your project. You will see your DLL. Piece ofcake? Huh? :). 

Part2: Building a Client Application

Callingmethods and properties of a DLL from a C# client is also an easy task.Just follow these few simple steps and see how easy is to create and usea DLL in C#.

Create a Console Application 

Select File->New->Project->VisualC# Projects->Console Application. I will test my DLL from thisconsole application. See Figure 10.

Figure 10.

AddReference of the Namespace

Now next step is to addreference to the library. You can use Add Reference menu option to add areference. Go to Project->Add reference. See Figure 11.

Figure 11.

Now on this page, clickBrowse button to browse your library. See Figure 12.

Figure 12.

Browse for your DLL,which we created in part 1 of this tutorial and click Ok. See Figure 13.

Figure 13.

Add Reference Wizardwill add reference of your library to the current project. See Figure14.

Figure 14.

After adding referenceto mcMath library, you can see it as an available namespace references.See Figure 15.

Figure 15.

CallmcMath Namespace, Create Object of mcMathComp and call its methods andproperties.

You are only one stepaway to call methods and properties of your component. You follow thesesteps:

1. Use namespace

Add usingmcMath in the beginning for your project.

usingmcMath;

2. Create an Object ofmcMathComp

mcMathComp cls = new mcMathComp();

3. Call Methods andProperties

Now you can call themcMathComp class method and properties as you can see I call Add methodand return result in lRes and print out result on the console.

mcMathComp cls = newmcMathComp();
long lRes =cls.Add( 23, 40 );
cls.Extra = false;
Console.WriteLine(lRes.ToString());

Now you can print out the result.

The entire project islisted in the following Listing:

usingSystem;
using mcMath;

        namespace
mcClient
{
/// <summary>
/// Summary descriptionfor Class1.
/// </summary>

        class
Class1
{

        ///
<summary>
/// The main entry pointfor the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
mcMathCompcls = new mcMathComp();
long lRes = cls.Add( 23, 40 );
cls.Extra =false;
Console.WriteLine(lRes.ToString());
}
}
}

Now build and runthe project. The output looks like Figure 16.

Figure 16.

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Ink on the Web
C Sharp与.net学习笔记(三)
Mastering Windows Services
C# Remoting的一个简单例子
两步就可以掌握VB使用ArrayList类
NET Foundations - .NET execution model - VusCode - Coding dreams since 1998!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服