ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-Libraries(库)
1.A,示例(Sample) 返回顶部

“库”示例

本示例演示如何用 C# 中创建和使用 DLL。

安全说明

提供此代码示例是为了阐释一个概念,它并不代表最安全的编码实践,因此不应在应用程序或网站中使用此代码示例。对于因将此代码示例用于其他用途而出现的偶然或必然的损害,Microsoft 不承担任何责任。

在 Visual Studio 中生成并运行“库”示例

  1. 在“解决方案资源管理器”中,右击“FunctionTest”项目并单击“设为启动项目”。

  2. 在“解决方案资源管理器”中,右击“FunctionTest”项目并单击“属性”。

  3. 打开“配置属性”文件夹并单击“调试”。

  4. 在“命令行参数”属性中,输入 3 5 10

  5. 单击“确定”。

  6. 在“调试”菜单中,单击“开始执行(不调试)”。这将自动在“Functions”目录中生成库并执行程序。

从命令行生成并运行“库”示例

  1. 使用“更改目录”命令转到“Functions”目录。

  2. 键入以下命令:

    1. csc /target:library /out:Functions.dll Factorial.cs DigitCounter.cs
  3. 使用“更改目录”命令转到“FunctionTest”目录。

  4. 键入以下命令:

    1. copy ..\Functions\Functions.dll .
    2. csc /out:FunctionTest.exe /R:Functions.DLL FunctionClient.cs
    3. FunctionTest 3 5 10
1.B,示例代码(Sample Code)返回顶部

1.B.1, DigiCounter.cs

  1. // 版权所有(C) Microsoft Corporation。保留所有权利。
  2. // 此代码的发布遵从
  3. // Microsoft 公共许可(MS-PL,http://opensource.org/licenses/ms-pl.html)的条款。
  4. //
  5. //版权所有(C) Microsoft Corporation。保留所有权利。
  6.  
  7. // DigitCounter.cs
  8. // 编译时使用:/target:library
  9. using System;
  10.  
  11. // 声明与 Factorial.cs 中的命名空间相同的命名空间。这样仅允许将
  12. // 类型添加到同一个命名空间中。
  13. namespace Functions
  14. {
  15. public class DigitCount
  16. {
  17. // NumberOfDigits 静态方法计算
  18. // 传递的字符串中数字字符的数目:
  19. public static int NumberOfDigits(string theString)
  20. {
  21. int count = ;
  22. for ( int i = ; i < theString.Length; i++ )
  23. {
  24. if ( Char.IsDigit(theString[i]) )
  25. {
  26. count++;
  27. }
  28. }
  29. return count;
  30. }
  31. }
  32. }

1.B.2, Facotrial.cs

  1. // 版权所有(C) Microsoft Corporation。保留所有权利。
  2. // 此代码的发布遵从
  3. // Microsoft 公共许可(MS-PL,http://opensource.org/licenses/ms-pl.html)的条款。
  4. //
  5. //版权所有(C) Microsoft Corporation。保留所有权利。
  6.  
  7. // Factorial.cs
  8. // 编译时使用:/target:library
  9. using System;
  10.  
  11. // 声明命名空间。需要根据
  12. // 库的命名空间打包库,以便 .NET 运行时可以正确地加载类。
  13. namespace Functions
  14. {
  15. public class Factorial
  16. {
  17. // “Calc”静态方法为传入的指定整数
  18. // 计算阶乘值:
  19. public static int Calc(int i)
  20. {
  21. return((i <= ) ? : (i * Calc(i-)));
  22. }
  23. }
  24. }

1.B.3,

1.B,示例代码2(Sample Code)返回顶部

1.B.1, FunctionClient.cs

  1. // 版权所有(C) Microsoft Corporation。保留所有权利。
  2. // 此代码的发布遵从
  3. // Microsoft 公共许可(MS-PL,http://opensource.org/licenses/ms-pl.html)的条款。
  4. //
  5. //版权所有(C) Microsoft Corporation。保留所有权利。
  6.  
  7. // FunctionClient.cs
  8. // 编译时使用:/reference:DigitCounter.dll;Factorial.dll
  9. // 参数:3 5 10
  10. using System;
  11. // 下面的 using 指令使 Functions
  12. // 命名空间中定义的类型可用于此编译单元:
  13. using Functions;
  14. class FunctionClient
  15. {
  16. public static void Main(string[] args)
  17. {
  18. Console.WriteLine("Function Client");
  19.  
  20. if ( args.Length == )
  21. {
  22. Console.WriteLine("Usage: FunctionTest ... ");
  23. return;
  24. }
  25.  
  26. for ( int i = ; i < args.Length; i++ )
  27. {
  28. int num = Int32.Parse(args[i]);
  29. Console.WriteLine(
  30. "The Digit Count for String [{0}] is [{1}]",
  31. args[i],
  32. // 调用 DigitCount 类中的
  33. // NumberOfDigits 静态方法:
  34. DigitCount.NumberOfDigits(args[i]));
  35. Console.WriteLine(
  36. "The Factorial for [{0}] is [{1}]",
  37. num,
  38. // 调用 Factorial 类中的 Calc 静态方法:
  39. Factorial.Calc(num) );
  40. }
  41. }
  42. }

1.B.2,

1.C,下载地址(Free Download)返回顶部
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

ylbtech-LanguageSamples-Libraries(库)的更多相关文章

  1. 012.CI4框架CodeIgniter, 加载并调用自己的Libraries库

    01. 在Libraries目录创建一个Mylib文件,内容是一个简单的类 <?php namespace App\Controllers; class Home extends BaseCon ...

  2. Qt 添加Includes、Libraries库

    1 #------------------------------------------------- # # 加载相机SDK-Includes-Libraries # #------------- ...

  3. 9.Libraries and visibility 库和可见性

    import和liabrary指令可以帮助你创建模块化,可复用的代码.库不仅仅提供API,也是一个私有化单元:库中已下划线(_)开头的类都是对外不可访问的.每个Dart的应用也是一个包,尽管它没有使用 ...

  4. 大型项目 Gradle 的常用库和版本管理[转]

    http://www.tuicool.com/articles/vqQZBrm 大型项目 Gradle 的常用库和版本管理 时间 2016-03-15 06:44:00  Mystra 原文  htt ...

  5. 所有selenium相关的库

    通过爬虫 获取 官方文档库 如果想获取 相应的库 修改对应配置即可 代码如下 from urllib.parse import urljoin import requests from lxml im ...

  6. java常用英文解释

    java常用名词解释: OO: object-oriented ,面向对象 OOP:object-oriented programming,面向对象编程 Author:JCC Object:对象JDK ...

  7. windows 下 gvim/vim lua支持问题,neocomplete等插件支持

    此文是按照知乎 https://www.zhihu.com/question/29333426 "windows下vim的lua支持问题?" 一文汇总的解决方案. 题主提供了不错的 ...

  8. Java基础常见英语词汇

    Java基础常见英语词汇(共70个) ['ɔbdʒekt] ['ɔ:rientid]导向的                             ['prəʊɡræmɪŋ]编程 OO: object ...

  9. Idea15/16 配置Tomcat

    1:我这里使用的是Eclipse创建的项目,导出后导入到Idea中使用 2:Idea导入Eclipse项目 3:Idea项目配置(默认快捷键CTRL+SHIT+ALT+S) 3.1 Project 项 ...

  10. 安卓系统源码编译系列(六)——单独编译内置浏览器WebView教程

    原文                   http://blog.csdn.net/zhaoxy_thu/article/details/18883015                 本文主要对从 ...

随机推荐

  1. python初学--文件操作、字典

    文件读写 1.先打开文件 2.读取/写入内容 3.保存文件   文件的open模式有三种 1.w 写模式,它是不能读的 只要用w打开文件,文件中的东西都会被清空 w+, 写读模式,只要沾上w 就会清空 ...

  2. SRM 563 Div1 500 SpellCards

    Description 有n张符卡排成一个队列,每张符卡有两个属性,等级lili和伤害didi. 你可以做任意次操作,每次操作为以下二者之一: 把队首的符卡移动到队尾. 使用队首的符卡,对敌人造成di ...

  3. [前端随笔][JavaScript][自制数据可视化] “中国地图”

    说在前面 想自己实现一个可视化的中国地图(可以实现如用户来源省份数据统计功能),网上搜了一下,翻了几页几乎都是第三方库(如echarts.js)实现的,简直不能忍. 不是第三方库不好,只是要花时间去适 ...

  4. oracle 导入dmp文件

    /*第1步:创建临时表空间  */ create temporary tablespace webdata_temp tempfile 'D:\oracle\product\10.2.0\oradat ...

  5. SGU 202. The Towers of Hanoi Revisited

    多柱汉诺塔问题. 引用自wiki百科 多塔汉诺塔问题 在有3个柱子时,所需步数的公式较简单,但对于4个以上柱子的汉诺塔尚未得到通用公式,但有一递归公式(未得到证明,但目前为止没有找到反例): 令为在有 ...

  6. 熟悉并了解uml的使用(一)

    本资料对UML各种模型图的构成和功能进行说明,通过本资料的学习达到可以读懂UML模型图的目的.本资料不涉及模型图作成的要点等相关知识. UML简介 UML (Unified Modeling Lang ...

  7. es6扩展运算符及rest运算符总结

    扩展运算符(...) 1.如果一个函数的参数个数不确定,可以用其代替 eg:求若干个数的和 2.改数组的引用为复制一份内存 此刻数组a也发生了变化,因为数组b是a的一个引用 此刻相当于复制了一份a 3 ...

  8. SocketCluster

    官网地址:https://socketcluster.io/ SocketCluster的组成部分,即运行一个SocketCluster服务器,它在服务器生成的进程 1.主进程(Server.js)一 ...

  9. BZOJ2120/洛谷P1903 [国家集训队] 数颜色 [带修改莫队]

    BZOJ传送门:洛谷传送门 数颜色 题目描述 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨墨会向你发布如下指令: 1. Q L R代表询问你从第L支画笔到第R ...

  10. 洛谷——P1292 倒酒

    P1292 倒酒 题目描述 Winy是一家酒吧的老板,他的酒吧提供两种体积的啤酒,a ml和b ml,分别使用容积为a ml和b ml的酒杯来装载. 酒吧的生意并不好.Winy发现酒鬼们都非常穷.有时 ...