- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在以下示例中:
public class RowData
{
public object[] Values;
}
public class FieldData
{
public object Value;
}
[ProtoContract]
public class RowData
{
[ProtoMember(1)]
public object[] Values;
}
[ProtoContract]
public class FieldData
{
[ProtoMember(1)]
public object Value;
}
FieldData data = new FieldData();
data.Value = 8;
remoteObject.DoSomething(data);
最佳答案
重新 protobuf-net,我维护:
这里的问题不是值类型(它通常可以很好地处理) - 它是开放的 object
用法,这意味着它根本不知道期望什么数据,因此不知道如何对其进行编码/解码。
目前,我想不出一种简单/干净的方法来处理它。它将处理一系列常见的值类型场景、列表和基于契约(Contract)(数据契约(Contract)、原型(prototype)契约(Contract)或一些 xml 模式)的任何层次结构,但它需要一个线索。
也许如果你能澄清用例,我可能会提供更多帮助?例如,以上内容不适用于 DataContractSerializer
或 XmlSerializer
任何一个...
重新 dotnet-protobufs;我无法真正发表评论,但我敢肯定它会更不宽容;它旨在与从 .proto 文件生成的类一起使用,因此 object
根本不会进入模型(乔恩:如果我错了,请纠正我)。
如果你留下更多信息,你能在这里发表评论吗?所以我可以很容易地找到它......或者,直接给我发邮件(请参阅我的 SO 个人资料)。
编辑-这是我想到的骇人听闻的事情-目前无法正常工作,但明天(可能)我会弄清楚原因。请注意,理论上额外的成员都可能是私有(private)的 - 我只是想在调试时让它变得容易。请注意,这不会占用任何额外的存储空间。就像我说的,它今天不起作用,但它应该 - 我会找出原因......
[ProtoContract]
public class FieldData
{
public object Value {get;set;}
[ProtoMember(1)]
public int ValueInt32 {
get { return (int)Value; } set { Value = value; } }
public bool ValueInt32Specified {
get { return Value != null && Value is int; } set { } }
[ProtoMember(2)]
public float ValueSingle {
get { return (float)Value; } set { Value = value; } }
public bool ValueSingleSpecified {
get { return Value != null && Value is float; } set { } }
// etc for expected types
}
关于.net - C# : How Are Boxed Value Types Handled 中的 Protocol Buffer ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/562558/
我是一名优秀的程序员,十分优秀!