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. 键入以下命令:

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

  4. 键入以下命令:

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

1.B.1, DigiCounter.cs

// 版权所有(C) Microsoft Corporation。保留所有权利。
// 此代码的发布遵从
// Microsoft 公共许可(MS-PL,http://opensource.org/licenses/ms-pl.html)的条款。
//
//版权所有(C) Microsoft Corporation。保留所有权利。 // DigitCounter.cs
// 编译时使用:/target:library
using System; // 声明与 Factorial.cs 中的命名空间相同的命名空间。这样仅允许将
// 类型添加到同一个命名空间中。
namespace Functions
{
public class DigitCount
{
// NumberOfDigits 静态方法计算
// 传递的字符串中数字字符的数目:
public static int NumberOfDigits(string theString)
{
int count = ;
for ( int i = ; i < theString.Length; i++ )
{
if ( Char.IsDigit(theString[i]) )
{
count++;
}
}
return count;
}
}
}

1.B.2, Facotrial.cs

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

1.B.3,

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

1.B.1, FunctionClient.cs

// 版权所有(C) Microsoft Corporation。保留所有权利。
// 此代码的发布遵从
// Microsoft 公共许可(MS-PL,http://opensource.org/licenses/ms-pl.html)的条款。
//
//版权所有(C) Microsoft Corporation。保留所有权利。 // FunctionClient.cs
// 编译时使用:/reference:DigitCounter.dll;Factorial.dll
// 参数:3 5 10
using System;
// 下面的 using 指令使 Functions
// 命名空间中定义的类型可用于此编译单元:
using Functions;
class FunctionClient
{
public static void Main(string[] args)
{
Console.WriteLine("Function Client"); if ( args.Length == )
{
Console.WriteLine("Usage: FunctionTest ... ");
return;
} for ( int i = ; i < args.Length; i++ )
{
int num = Int32.Parse(args[i]);
Console.WriteLine(
"The Digit Count for String [{0}] is [{1}]",
args[i],
// 调用 DigitCount 类中的
// NumberOfDigits 静态方法:
DigitCount.NumberOfDigits(args[i]));
Console.WriteLine(
"The Factorial for [{0}] is [{1}]",
num,
// 调用 Factorial 类中的 Calc 静态方法:
Factorial.Calc(num) );
}
}
}

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. Leetcode 之Wildcard Matching(32)

    跟上题类似,主要考虑‘*’的匹配问题.如果遇到‘*’,则跳过继续匹配,如果不匹配,则s++,重新扫描. bool isMatch2(const char *s, const char *p) { if ...

  2. sublime view_in_browser

    今天安装了sublime的插件view in browser,发现ctrl+alt+V用不了,在preferences看了view in browser的配置,发现browser不是我电脑上的默认浏览 ...

  3. Unique Binary Search Trees I&&II(II思路很棒)——动态规划(II没理解)

      Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For exa ...

  4. WordPress函数query_posts用法汇总

    最近经常有网友跟我咨询WordPress函数query_posts的相关用法,说起来query_posts实在是太强大,参数无数,用法更是无数,如果让我说它的用法,我根本没法一一说清楚.开始之前,你可 ...

  5. git------删除Repository

    需求:删除仓库 Lucky-Repository,实现步骤如下截图所示 如上完成删除操作

  6. 限制输入字符个数的jq插件

    (function($) { $.fn.extend( { limiter: function(limit, elem) { $(this).on("keyup focus", f ...

  7. Mongo Connector for BI

    官网地址:https://www.mongodb.com/products/bi-connector 它目前包含两个组件: mongosqld:mongosqld接受来自SQL客户端的传入请求,并将这 ...

  8. python的ipython manage.py shell 引发的 No module named _argparse

    环境是:Centos6.6 ,python 2.6 今晚,shell 中输入: # ipython manage.py shell 报错,说找不到命令: 我当时,觉得,我有可能没有安装ipython ...

  9. AndroidManifest.xml文件详解(permission)

    http://blog.csdn.net/think_soft/article/details/7574726 语法(SYNTAX): <permissionandroid:descriptio ...

  10. Flask实战第55天:cms轮播图上传到七牛功能完成

    登录七牛云,进入“对象存储”, 新建存储空间(Bucket), 我创建的空间命名为flask-bbs 创建完Bucket,七牛会给我们提供一个测试域名,生产环境中,我们需要绑定自己的域名 在个人面板中 ...