用 Visual C# 编写的组件 (CompCS.cs)

本文介绍了一个简单的C#字符串组件设计与实现过程,包括类构造、异常处理及属性定义等内容。通过具体代码示例展示了如何使用命名空间、类成员及属性等C#特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值