⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 varstring.cs

📁 短信网关的应用开发
💻 CS
字号:
using System;
using System.Collections.Generic;

namespace SMPP.Variable
{
	/// <summary>
	/// 变长字符串类型
	/// </summary>
	public class VARString : VARBinary
	{
		/// <summary>
		/// 编码类型字段索引
		/// </summary>
		private int EncodingFieldIndex = -1;

		private System.Text.Encoding Encoding = System.Text.Encoding.ASCII;

		/// <summary>
		/// 字符串值
		/// </summary>
		public new string Value
		{
			get
			{
				System.Text.Encoding Encoder = EncodingFieldIndex == -1 ? this.Encoding : (Owner[EncodingFieldIndex] as Encoding).Encoder;
				return Encoder.GetString(_Value);
			}
			set
			{
				System.Text.Encoding Encoder = EncodingFieldIndex == -1 ? this.Encoding : (Owner[EncodingFieldIndex] as Encoding).Encoder;
				base.Value = Encoder.GetBytes(value);
			}
		}

		/// <summary>
		/// 创建变长字符串实例,长度倍数为1
		/// </summary>
		/// <param name="LengthFieldIndex">长度字段索引</param>
		/// <param name="EncodingFieldIndex">编码器字段索引</param>
		public VARString(int LengthFieldIndex, int EncodingFieldIndex)
			: base(LengthFieldIndex)
		{
			this.EncodingFieldIndex = EncodingFieldIndex;
		}

		/// <summary>
		/// 创建变长字符串实例,长度倍数为1
		/// </summary>
		/// <param name="LengthFieldIndex">长度字段索引</param>
		public VARString(int LengthFieldIndex)
			: base(LengthFieldIndex)
		{
			this.EncodingFieldIndex = -1;
		}

		/// <summary>
		/// 创建变长字符串实例,长度倍数为1
		/// </summary>
		/// <param name="LengthFieldIndex">长度字段索引</param>
		/// <param name="Encoding">编码器类型</param>
		public VARString(int LengthFieldIndex, System.Text.Encoding Encoding)
			: base(LengthFieldIndex)
		{
			this.EncodingFieldIndex = -1;
			this.Encoding = Encoding;
		}

		/// <summary>
		/// 创建变长字符串实例
		/// </summary>
		/// <param name="LengthFieldIndex">长度字段索引</param>
		/// <param name="EncodingFieldIndex">编码器字段索引</param>
		/// <param name="LenMultiple">长度倍数</param>
		public VARString(int LengthFieldIndex, int EncodingFieldIndex, int LenMultiple)
			: base(LengthFieldIndex, LenMultiple)
		{
			this.EncodingFieldIndex = EncodingFieldIndex;
		}

		/// <summary>
		/// 创建变长字符串实例
		/// </summary>
		/// <param name="LengthFieldIndex">长度字段索引</param>
		/// <param name="Encoding">编码器类型</param> 
		/// <param name="LenMultiple">长度倍数</param>
		public VARString(int LengthFieldIndex, System.Text.Encoding Encoding, int LenMultiple)
			: base(LengthFieldIndex, LenMultiple)
		{
			this.EncodingFieldIndex = -1;
			this.Encoding = Encoding;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -