C# code
public class accessInfo
{
private AccountAccessInfo Info;
private IList<AccountAccessInfo> infoList; //數據緩存
public accessInfo()
{
Info = null;
infoList = new List<AccountAccessInfo>();
}
/// <summary>
/// 緩存中的記錄數量
/// </summary>
public int coun
{
get
{
return infoList.Count;
}
}
/// <summary>
/// 緩存中的記錄
/// </summary>
public AccountAccessInfo accountAccessInfo
{
get {
return Info;
}
}
/// <summary>
/// 讀取數據
/// </summary>
/// <returns></returns>
public bool read()
{
bool bo;
lock (infoList)
{
if (infoList.Count > 0)
{
Info = infoList[0];
infoList.RemoveAt(0);
bo = true;
}
else
{
Info = null;
bo = false;
}
}
return bo;
}
/// <summary>
/// 將數據寫入緩存中
/// </summary>
/// <param name="info">數據的實體類</param>
public void write(AccountAccessInfo info)
{
lock (infoList)
{
infoList.Add(info);
}
}
}
/// <summary>
/// 客戶接入信息的實體類
/// </summary>
[Serializable]
public class AccountAccessInfo
{
private string sBindingsAdd;
private string sBindingsPort;
/// <summary>
/// 客戶接入信息的實體類的構造函數
/// </summary>
/// <param name="BindingsAdd">綁定地址</param>
/// <param name="BindingsPort">綁定端口</param>
public AccountAccessInfo(string BindingsAdd, string BindingsPort)
{
sBindingsAdd = BindingsAdd;
sBindingsPort = BindingsPort;
}
/// <summary>
///
/// 綁定地址
/// </summary>
public string bindingsAdd
{
get { return sBindingsAdd; }
}
/// <summary>
/// 綁定端口
/// </summary>
public string bindingsPort
{
get { return sBindingsPort; }
}
}
使用示例
- C# code
-
accessInfo myacc = new accessInfo();
AccountAccessInfo info = new AccountAccessInfo("abc", "bcd");
myacc.write(info);
myacc.write(info);
myacc.write(info);
while (myacc.read())
textBox1.Text += myacc.accountAccessInfo.bindingsAdd+"/r/n";