integer16.cs

来自「短信网关的应用开发」· CS 代码 · 共 54 行

CS
54
字号
using System;
using System.Collections.Generic;
using System.Text;

namespace SMPP.Variable
{
	public class Integer16 : Number
	{
		private Int16 _Value = 0;

		public System.Int16 Value
		{
			get
			{
				return _Value;
			}
			set
			{
				_Value = value;
				base.Val = value;
			}
		}

		public override void SetValue(ref Int64 Number)
		{
			_Value = Number > Int16.MaxValue ? Int16.MaxValue : (Number < Int16.MinValue ? Int16.MinValue : (Int16)Number);
			Number = _Value;
		}

		#region IVariable 成员

		public override byte[] GetBytes()
		{
			return System.BitConverter.GetBytes(System.Net.IPAddress.HostToNetworkOrder(_Value));
		}

		public override void Parse(byte[] Datas, ref int Index)
		{
			Value = System.Net.IPAddress.NetworkToHostOrder(System.BitConverter.ToInt16(Datas, Index));
			Index += Length;
		}

		public override int Length
		{
			get
			{
				return 2;
			}
		}

		#endregion
	}
}

⌨️ 快捷键说明

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