在詢問我的第一個問題並閱讀了一些提供的鏈接之後,我決定從開放源代碼vb.net項目中將通信層移植到C#中幾個月。我開始很好。現在我確實有一個問題。數據包在當前上下文中不存在
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
namespace Eclipse_5._0
{
class PacketHandler
{
#region Packet Constructors
private delegate void PacketDelegate(int Index, byte[] Data);
private PacketDelegate[] Packet;
public PacketHandler()
{
Packet(Enumerations.ClientPackets.CAddChar) = HandleAddChar;
}
#endregion
#region Packet Methods
public void Handledata(int Index, byte[] Data, int MsgType)
{
ByteBuffer Buff = new ByteBuffer();
Buff.WriteBytes(Data);
if (MsgType < 0)
{
return;
}
if (MsgType >= (int)Enumerations.ClientPackets.CQuit)
{
return;
}
Packet(MsgType).Invoke(Index, Buff.ReadBytes(Buff.Length()));
Buff.Dispose();
}
public void HandleNewAccount(int Index, byte[] Data)
{
//TODO: Add New Player Account File.
}
public void HandleAddChar(int Index, byte[] Data)
{
//TODO: Add New Character to Player Account File.
}
#endregion
}
}
下面這行有錯誤
Packet(Enumerations.ClientPackets.CAddChar) = HandleAddChar;
任何幫助將是巨大的。
什麼是數據包中的錯誤?另外,編譯器錯誤說的是什麼? – Jacob 2011-04-14 21:54:10
約定是使用小寫字母來啓動變量名稱。這樣做會使您的代碼更易於其他程序員閱讀。 – unholysampler 2011-04-14 21:57:30
@unholysampler感謝您的建議。我所知道的一切都是通過YouTube或網絡上的教程進行自學。我想我撿到了一些壞習慣。我會盡可能地使用小寫字母。 – crzyone9584 2011-04-15 00:36:43