无法将类型为“Common.Pack”的对象强制转换为类型“Common.Pack”。”(
System.InvalidCastException )
本帖最后由 xx0xx0404 于 2013-10-30 17:13:36 编辑
[Serializable]
public class Pack
{
public byte PackCommand = 0;
public int Version = 0;
public Pack(Command com, int ver)
{
PackCommand = (byte)com; //此处(byte)com的结果为 116 , com = VerifyVersion
Version = ver;
}
public Object PackObj = null;
}
public enum Command : byte
{
VerifyVersion = 0x74,
}
以上代码输出 EXE文件就可以正常 输出 DLL 就提示以下错误。
异常:已引发:“无法将类型为“Common.Pack”的对象强制转换为类型“Common.Pack”。”(System.InvalidCastException)
引发了一个 System.InvalidCastException:“无法将类型为“Common.Pack”的对象强制转换为类型“Common.Pack”。”
Time: 2013-10-30 17:06:09
线程:<无名称>[10336]
------解决方案-------------------- 基本是这样运作的
引用 Pack pack = PacketHelpers.GetBodyBytes(e.Astream);
if (pack != null)
{
switch ((Command)pack.PackCommand)
{
case Command.VerifyVersion:
{此处代码没写}
break;
default:
break;
}
}
public static Pack GetBodyBytes(byte[] data)
{
{此处代码没写}
return (Pack)Cryption.Deserialize(Packs); //错误提示在这里 异常:已引发:“无法将类型为“Common.Pack”的对象强制转换为类型“Common.Pack”。”(System.InvalidCastException)
引发了一个 System.InvalidCastException:“无法将类型为“Common.Pack”的对象强制转换为类型“Common.Pack”。”
}
引用 public static class Cryption
{
public static object Deserialize(byte[] stream)
{
&n