- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在 protobuf-net 中序列化时出现异常 Unexpected sub-type: UnnamedGameServer.TrapInstance
。
这是代码:
class test
{
void testMethod(PacketNewTrapResponse packet)
{
using (var stream = new MemoryStream())
{
Serializer.SerializeWithLengthPrefix<PacketNewTrapResponse>(stream, (PacketNewTrapResponse)packet, PrefixStyle.Base128);
}
}
}
[ProtoContract]
public class MapTrap
{
[ProtoMember(1)]
public IntegerVector2 Position;
[ProtoMember(2)]
public int TrapServerID;
[ProtoMember(3)]
public int LocationID;
}
[ProtoContract, ProtoInclude(1, typeof(MapTrap))]
class TrapInstance : MapTrap
{
public TrapInstance(TrapProperties trap, SessionCharacter session, int serverTrapId, int locationId, IntegerVector2 position)
{
TrapServerID = serverTrapId;
Trap = trap;
Position = position;
LocationID = locationId;
OwnerOfTrap = session;
LocationID = locationId;
Position = position;
}
public SessionCharacter OwnerOfTrap { get; set; }
public TrapProperties Trap { get; set; }
}
最佳答案
需要告知基类有关子类的信息,而不是相反。从子类中寻找基类微不足道,因为它在运行时很容易获得。
[ProtoContract, ProtoInclude(5, typeof(TrapInstance))]
public class MapTrap {...}
[ProtoContract]
class TrapInstance : MapTrap {...}
关于c# - 意外的子类型 : MyNamespace. MyInheritedClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14655695/
我有一个问题(显然是问题:) 我有一个项目-- MyProject...因此项目的其余部分使用任何类的默认值作为命名空间“MyProject”...没问题。 在我的项目中,我创建了一个自定义用户控件,
您好,我是 asp.net 的新手。我很困惑“使用 MyNameSpace;”之间的区别是什么?和“命名空间 MyNameSpace”。我的演示代码如下... using System; using
我有以下代码,我将值存储在 imgwidth 变量中 var newImg = new Image(); newImg.src = document.getElementById('i
在 protobuf-net 中序列化时出现异常 Unexpected sub-type: UnnamedGameServer.TrapInstance。 这是代码: class test {
我目前正在使用无项目解决方案开发 ASP.NET 4.0 站点。 默认情况下,global.asax 没有代码隐藏文件,但在我将其更改为 并创建了一个具有相同命名空间/类名的空 Global.asa
我有通常的类型或命名空间名称不存在错误,只是我引用了程序集,using 语句没有显示为不正确,而且我引用的类是公共(public)的。事实上,我在不同的解决方案中引用并使用相同的程序集来做同样的事情,
对于撇油器。问题位于粗体文本之后的底部附近。 我正在对 ComboBox 进行数据绑定(bind)使用 ObjectDataProvider 转换为枚举类型. ObjectDataProvider很简
我的 linq 查询有问题。我正在尝试根据选定的值过滤对象。我们使用返回 System.Linq.Expressions.Expression 的查询模型,并使用它来创建 nhibernate 查询。
在我的 C# 代码中,我可以访问 MyNamespace.Exception 以及 System.Exception。当我想捕获其中一个异常时,理想情况下我会完全限定要捕获的异常或使用别名来明确说明。
我正在使用 .NET4.5 和 Entity Framework 6 alpha3 创建一个 Web 应用程序,该应用程序使用新的 SQL Compact 数据库。该数据库尚不存在。 我在网络表单中有
我尝试通过@TCP 将图像对象作为序列化文件从客户端发送到服务器并得到这个异常 服务器代码 namespace Receiver { [Serializable()] public cl
我是一名优秀的程序员,十分优秀!