C#自定义类库DLL

定义顺序是:

新建一个项目

在解决方案上右键添加,新建项目:

在弹出的窗口中选择类库:

这样就新建了一个类库,在此项目中编写代码

如:

此时可以在另外的项目的主函数中调用:

此时尚且不能使用,需要在项目中的引用文件夹下添加引用:

在弹出的窗口中:

选择解决方法勾选刚刚建立的类库

此时再在主函数头添上一句using ClassLibrary1;就好了

之后,将主函数所在的项目设好为启动项目,就可以调试执行了。

使用命名空间的好处:

避免命名冲突;

简化程序,

例如,使用两个类库,分别属于不同的命名空间子分支:

类库1:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6
 7 namespace LHYZ.SuperLib
 8 {
 9     public class SquareWidget
10     {
11         public double SideLength = 0;
12
13         public double Area
14         {
15             get { return SideLength * SideLength; }
16         }
17     }
18 }

类库2:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6
 7 namespace LHYZ.UrtraLib
 8 {
 9     public class CircleWidget
10     {
11         const double PI = 3.1415926;
12
13         public double Radius = 0;
14
15         public double Area
16         {
17             get { return PI * Radius * Radius; }
18         }
19     }
20 }

如果不在主函数源码文件中声明命名空间:

就必须这样使用:

使用命名空间后使用方法如下:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 using LHYZ.SuperLib;
 7
 8 namespace Test
 9 {
10     class Program
11     {
12         static void Main(string[] args)
13         {
14             SquareWidget sw = new SquareWidget();
15             sw.SideLength = 3;
16             Console.WriteLine(sw.Area);
17
18             LHYZ.UrtraLib.CircleWidget cw = new LHYZ.UrtraLib.CircleWidget();
19             cw.Radius = 3.894;
20             Console.WriteLine(cw.Area);
21             Console.ReadKey();
22         }
23     }
24 }
时间: 2024-08-04 20:21:21

C#自定义类库DLL的相关文章

WinForm 实现主程序(exe)与其关联类库(*.dll)分开存放

WinForm 实现主程序(exe)与其关联类库(*.dll)分开存放 开发环境: Microsoft Windows 7 SP1 Microsoft.NET Framework 4.0 (x64) 1. 首先, App.config: <?xml version="1.0" encoding="utf-8" ?><configuration>  <runtime>    <gcConcurrent enabled=&quo

vs2010中c#中类库dll制作和引用方法

vs2010中c#类库dll制件 1.建立类库文件 2.写好类:注意类的级别对外要公共的属性public 3.按F6生成.dll文件,可在目录的debug中找到 vs2010中c#类库dll引用方法 1.在工程的右边解决方案中添加引用找到刚才生成的文件或别人生成的文件 2.在程序中引用 采用using using mydll;//mydll为类库的命名空间 3.在对象浏览器中可看到引用类库的各个属性和特征 4.引用添加后,可在程序中直接调用引用的属性等.

做自己的类库dll文件

除了在项目中把类放在不同的文件夹之外,还可以把他们放在完全不同的项目中,添加引用dll 实现对类的调用, 如果一个项目只包含类 但没有入口点 ,那么这个项目叫做类库. 类库项目编译为.dll程序集.(直接生成解决方案即可). 步骤: 1,解决方案添加新项目 类库项目. 2. 注意需要能够对外引用类的话 默认的为public  如果声明范围为internal的话 对外无法调用,只能供内部访问(内部类). 3. 然后写自己需要的各种公共方法. 4. 实现其他项目调用时显示注释:菜单 Project 

在SSIS中使用自定义的DLL文件

原文:在SSIS中使用自定义的DLL文件 步骤1.开发dll(需要签名) using System;using System.Collections.Generic;using System.Text;using System.Xml;using System.Xml.Schema;namespace ETLXmlParser{    public class ETLXmlParser    {        private static bool isValid = true;        

自定义类库:Java转换xml文件转化pojo工具

一.之前java读取xml配置文件时,总是通过dom4j第三方库主动解析,最近发现可以通过jdk类库将xml转换pojo. 二.编写xml转化工具类XmlUtils package com.moy.demo.common.utils; import javax.xml.bind.JAXBContext; import javax.xml.bind.Unmarshaller; import java.io.InputStream; import java.io.Reader; import jav

Laravel 引入自定义类库或第三方类库

https://www.cnblogs.com/mouseleo/p/9075187.html 强烈建议引入的类 都是含有命名空间的,这样使用起来就不会出现重名的情况.!!当然,没有命名空间也可以使用,就是类名字(非文件名)最好复杂一些.(重复也不要紧,程序会自己判断) laravel5.4中如何引入自定义的类库文件呢? 在laravel的app目录下自定义一个文件夹,我用的名字是:Libs 然后直接将自定义类库扔进这个目录,如Dingding  在composer.json中的autoload

关于在VB.NET中调用使用VC++编写的类库dll的一点笔记

前言 结对作业要求一出来,我就立刻想到了把“计算核心”封装成dll,然后使用vb.net编写UI调用dll的思路.然而在实现过程中却遇到了很多的问题. 我在这个过程中是负责使用vb.net编写UI并调用编写好的DLL进行计算的. 目标 使用c++把类封装到dll,并在vb.net中调用该dll,使用该dll中封装好的类.在查找资料的过程中,发现vb.net调用dll的方法主要有两种. (IDE:Visual Studio 2013 professional) 方法一:使用Declare语句 vb

Quartz.net自定义类库接口 使用说明文档

前言: 前端时间共享了quartz.net.有给要源码的,其实贴出的代码已经写的很清楚,有可能没有类库的操作说明,所以今天就写了一个操作说明,希望能有所帮助. 先贴出quartz.net类库的地址: quartz.net插件类库封装 目的:方便任务调度 的创建,删除,暂停与继续操作:提高任务在系统的可维护性与可扩展性. 使用流程: 1.引用..\svn\ref\thirdparty\quartz\net40文件夹下所有dll. 2.配置web.config,如下图 3.在使用处调用类库方法: 3

打开加密excel 和 自定义c#dll目录

POIFSFileSystem pfs = newPOIFSFileSystem(POIDataSamples.getPOIFSInstance().openResourceAsStream("yourexcelfile.xlsx")); EncryptionInfo encInfo = new EncryptionInfo(pfs); Decryptor decryptor = new Decryptor(encInfo); decryptor.verifyPassword(&quo