在下面的代码片段中,我试图使用专用模型的'IsDefined'方法来查看我是否已经将给定类型添加到模型中。但是,它始终返回true,并且在调用IsDefined之后检查模型已知的类型会显示在调用期间已将类型添加到模型中。这似乎使IsDefined多余,或者我错过了什么?
版本是2.0.0.668。
private static void FillSignatureModel(RuntimeTypeModel Model, Object SignedObject) {
var lBinding = BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public;
var lType = SignedObject.GetType();
// Already sorted
if (Model.IsDefined(lType)) return;
var lProtoType = Model.Add(lType, false);
...
次要问题:是否有更好的报告Protobuf.net错误的方法 - 而不是我曾预期需要的错误; - )