如果有人在MRDS中遇到过Arcos示例代码,请让我知道以下代码片段在ArcosDrive.cs文件中的作用。我对行"arcos.Update update = new arcos.Update(raw);“和"_arcosPort.Post(update);”更感兴趣。
谢谢。
void VelocityHandler(Velocity velocity)
{
arcos.RawType raw = new arcos.RawType();
raw.Command = "Vel";
raw.Integer = (short)velocity.Body.Velocity;
raw.Flags = arcos.RawFlags.Integer;
arcos.Update update = new arcos.Update(raw);
_arcosPort.Post(update);
Activate(Arbiter.Choice(update.ResponsePort,
delegate(DefaultUpdateResponseType response)
{
velocity.ResponsePort.Post(DefaultSubmitResponseType.Instance);
},
delegate(Fault fault)
{
velocity.ResponsePort.Post(fault);
})
);
}发布于 2011-07-27 21:30:54
在做了一次深呼吸和仔细的思考之后,我设法弄明白了。
看起来PostUnknownType就像一个自动类型转换,通过它可以自动识别发布的类型,而不必定义多个发布类型。
对于RawType,RawType post最终会触发对ArcosState类中定义的RawCommandHandler的调用。
希望有人觉得这很有用。
https://stackoverflow.com/questions/6825790
复制相似问题