/// <summary> /// Deserialize a PropInfo instance from a FastTransferStream /// </summary> /// <param name="stream">A FastTransferStream.</param> /// <returns>A PropInfo instance.</returns> public static LexicalBase DeserializeFrom(FastTransferStream stream) { if (TaggedPropIdPropInfo.Verify(stream)) { return(TaggedPropIdPropInfo.DeserializeFrom(stream)); } else if (NamedPropIdPropInfo.Verify(stream)) { return(NamedPropIdPropInfo.DeserializeFrom(stream)); } else { AdapterHelper.Site.Assert.Fail("The stream cannot be deserialized successfully."); return(null); } }
/// <summary> /// Verify that a stream's current position contains a serialized PropInfo. /// </summary> /// <param name="stream">A FastTransferStream.</param> /// <returns>If the stream's current position contains /// a serialized PropInfo, return true, else false.</returns> public static bool Verify(FastTransferStream stream) { return(TaggedPropIdPropInfo.Verify(stream) || NamedPropIdPropInfo.Verify(stream)); }