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

📄 variable.cs

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

namespace SMPP.Variable
{
	/// <summary>
	/// SMPP数据接口
	/// </summary>
	public interface ISMPPData
	{
		/// <summary>
		/// 获取字节数组
		/// </summary>
		/// <returns></returns>
		byte[] GetBytes();

		/// <summary>
		/// 获取数据长度
		/// </summary>
		int Length
		{
			get;
		}

		/// <summary>
		/// 从字节数组解析对象
		/// </summary>
		/// <param name="Datas">字节数组</param>
		/// <param name="Index">启始索引</param>
		void Parse(byte[] Datas, ref int Index);
	}

	/// <summary>
	/// 数据类型接口
	/// </summary>
	public interface IVariable : ISMPPData
	{
		/// <summary>
		/// 包含此变量的数据包对象
		/// </summary>
		IMessagePack Owner
		{
			get;
		}
	}

	/// <summary>
	/// 数据类型纯虚类
	/// </summary>
	public abstract class Variable : IVariable
	{
		protected internal IMessagePack _Owner = null;
		internal void SetOwner(IMessagePack Owner)
		{
			if (_Owner != null)
				throw new Exception("无法设置数据包对象,该数据已属于另一数据包。");
			else
				_Owner = Owner;
		}

		/// <summary>
		/// 获取数据长度
		/// </summary>
		public abstract int Length
		{
			get;
		}

		/// <summary>
		/// 包含此变量的数据包对象
		/// </summary>
		public IMessagePack Owner
		{
			get
			{
				return _Owner;
			}
		}

		/// <summary>
		/// 从字节数组解析对象
		/// </summary>
		/// <param name="Datas">字节数组</param>
		/// <param name="Index">启始索引</param>
		public abstract void Parse(byte[] Datas, ref int Index);

		/// <summary>
		/// 获取字节数组
		/// </summary>
		/// <returns></returns>
		public abstract byte[] GetBytes();
	}
}

⌨️ 快捷键说明

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