用 Visual C# 编写的组件 (CompCS.cs)
来源:互联网 发布:php爬虫开源框架 编辑:程序博客网 时间:2024/06/05 09:57
using System;namespace CompCS { public class StringComponent { private string[] StringsSet; public StringComponent() { StringsSet = new string[] { "C# String 0", "C# String 1", "C# String 2", "C# String 3" }; } public string GetString(int index) { if ((index < 0) || (index >= StringsSet.Length)) { throw new IndexOutOfRangeException(); } return StringsSet[index]; } public int Count { get { return StringsSet.Length; } } }}
如上所述,使用 namespace 语句创建新的命名空间来封装要创建的类:
namespace CompCS {
该命名空间可以在多个文件中嵌套和拆分。单个源代码文件也可以包含多个不嵌套的命名空间。由于所有 Visual C# 代码都必须包含在一个类中,所以需要一个包含命名空间。
public class StringComponent {
StringComponent 的实例将通过公共语言运行库创建,并在垃圾回收堆中进行托管。类构造函数(每次创建该类的新实例时执行)与类同名,且没有返回类型。
public StringComponent() {
由于 Visual C# 只使用托管类型,所以在声明变量时不必像在 C++ 托管扩展中那样要进行特殊操作。
下面是 GetString 方法,该方法获取一个整数并返回一个字符串,对于三种示例语言而言都很简单而且效果相同:
public string GetString(int index) { ... return StringsSet[index];}
请注意 GetString 方法中的 throw 语句:
throw new IndexOutOfRangeException();
该语句创建并引发 IndexOutOfRangeException 类型的基于运行时的异常处理对象。
最后,创建只读的 Length 属性:
public int Count { get { return StringsSet.Length; }}
Visual C# 组件的编译过程只比独立程序的编译过程稍微复杂一些:
csc.exe /t:library /debug+ /out:../bin/CompCS.dll CompCS.cs
与 C++ 托管扩展组件相同,使用 /out 开关将编译的组件置于 ../Bin 子目录中。同样,需要用 /t(arget):library 开关来创建一个 DLL 而不是带 .dll 文件扩展名的可执行文件。
---------------------------摘自msdn
- 用 Visual C# 编写的组件 (CompCS.cs)
- Visual C#编写实现POP3的程序
- Visual C#实现自定义组件的设计
- 漫谈Visual C#的组件设计方法
- Visual C#实现自定义组件的设计
- 漫谈Visual C#的组件设计方法
- 用C#编写一个进程外的COM组件
- 用Visual C#动态生成组件
- 用Visual C#动态生成组件
- 用Visual C#动态生成组件
- 用Visual C#动态生成组件
- 用Visual C#动态生成组件
- 用Visual C#动态生成组件
- ASP使用C#编写的COM+组件
- ASP使用C#编写的COM+组件
- C++调用C#编写的COM组件
- JavaScript调用C#编写的COM组件
- C#编写Com组件
- 周恩来在全国高等教育会议上的讲话(1950/06/08)
- cidaemon.exe进程解决办法
- rose.exe病毒解决办法
- 精妙Sql语句(总结以前的所有精华)
- just for test
- 用 Visual C# 编写的组件 (CompCS.cs)
- 庆祝我发第一篇文章
- h264实时编解源代码,不仅有vfw,还有内存和cpu占用多少显示,vc6.0编译环境
- C++文件操作之一 :基于C的文件操作
- C++文件操作之二 : C++ 的fstream类提供的文件操作
- Neoshine linux 3.0下混音播放解决方案
- 设计数据库的一些经验
- Java数据类型综述
- C++文件操作之三 : BCB提供的文件操作的库函数