|
@@ -50,7 +50,7 @@ namespace Google.ProtocolBuffers
|
|
/// </summary>
|
|
/// </summary>
|
|
public abstract class GeneratedMessage<TMessage, TBuilder> : AbstractMessage<TMessage, TBuilder>
|
|
public abstract class GeneratedMessage<TMessage, TBuilder> : AbstractMessage<TMessage, TBuilder>
|
|
where TMessage : GeneratedMessage<TMessage, TBuilder>
|
|
where TMessage : GeneratedMessage<TMessage, TBuilder>
|
|
- where TBuilder : GeneratedBuilder<TMessage, TBuilder>
|
|
|
|
|
|
+ where TBuilder : GeneratedBuilder<TMessage, TBuilder>, new()
|
|
{
|
|
{
|
|
private UnknownFieldSet unknownFields = UnknownFieldSet.DefaultInstance;
|
|
private UnknownFieldSet unknownFields = UnknownFieldSet.DefaultInstance;
|
|
|
|
|
|
@@ -175,5 +175,35 @@ namespace Google.ProtocolBuffers
|
|
{
|
|
{
|
|
unknownFields = fieldSet;
|
|
unknownFields = fieldSet;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public static TMessage ParseFromJson(string jsonText)
|
|
|
|
+ {
|
|
|
|
+ return Serialization.JsonFormatReader.CreateInstance(jsonText)
|
|
|
|
+ .Merge(new TBuilder())
|
|
|
|
+ .Build();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public static TMessage ParseFromJson(System.IO.TextReader reader)
|
|
|
|
+ { return ParseFromJson(reader, ExtensionRegistry.Empty); }
|
|
|
|
+
|
|
|
|
+ public static TMessage ParseFromJson(System.IO.TextReader reader, ExtensionRegistry extensionRegistry)
|
|
|
|
+ {
|
|
|
|
+ return Serialization.JsonFormatReader.CreateInstance(reader)
|
|
|
|
+ .Merge(new TBuilder(), extensionRegistry)
|
|
|
|
+ .Build();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public static TMessage ParseFromXml(System.Xml.XmlReader reader)
|
|
|
|
+ { return ParseFromXml(Serialization.XmlFormatReader.DefaultRootElementName, reader, ExtensionRegistry.Empty); }
|
|
|
|
+
|
|
|
|
+ public static TMessage ParseFromXml(string rootElementName, System.Xml.XmlReader reader)
|
|
|
|
+ { return ParseFromXml(rootElementName, reader, ExtensionRegistry.Empty); }
|
|
|
|
+
|
|
|
|
+ public static TMessage ParseFromXml(string rootElementName, System.Xml.XmlReader reader, ExtensionRegistry extensionRegistry)
|
|
|
|
+ {
|
|
|
|
+ return Serialization.XmlFormatReader.CreateInstance(reader)
|
|
|
|
+ .Merge(rootElementName, new TBuilder(), extensionRegistry)
|
|
|
|
+ .Build();
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|