Files
2026-06-04 11:42:34 +02:00

76 lines
1.8 KiB
C#

using System;
using System.IO;
namespace Google.Protobuf
{
// Token: 0x02000016 RID: 22
public sealed class MessageParser<T> : MessageParser where T : IMessage<T>
{
// Token: 0x06000145 RID: 325 RVA: 0x000078F4 File Offset: 0x00005AF4
public MessageParser(Func<T> factory)
: base(() => factory())
{
this.factory = factory;
}
// Token: 0x06000146 RID: 326 RVA: 0x0000792C File Offset: 0x00005B2C
internal new T CreateTemplate()
{
return this.factory();
}
// Token: 0x06000147 RID: 327 RVA: 0x00007939 File Offset: 0x00005B39
public new T ParseFrom(byte[] data)
{
ProtoPreconditions.CheckNotNull<byte[]>(data, "data");
T t = this.factory();
t.MergeFrom(data);
return t;
}
// Token: 0x06000148 RID: 328 RVA: 0x0000795E File Offset: 0x00005B5E
public new T ParseFrom(ByteString data)
{
ProtoPreconditions.CheckNotNull<ByteString>(data, "data");
T t = this.factory();
t.MergeFrom(data);
return t;
}
// Token: 0x06000149 RID: 329 RVA: 0x00007983 File Offset: 0x00005B83
public new T ParseFrom(Stream input)
{
T t = this.factory();
t.MergeFrom(input);
return t;
}
// Token: 0x0600014A RID: 330 RVA: 0x0000799C File Offset: 0x00005B9C
public new T ParseDelimitedFrom(Stream input)
{
T t = this.factory();
t.MergeDelimitedFrom(input);
return t;
}
// Token: 0x0600014B RID: 331 RVA: 0x000079B8 File Offset: 0x00005BB8
public new T ParseFrom(CodedInputStream input)
{
T t = this.factory();
t.MergeFrom(input);
return t;
}
// Token: 0x0600014C RID: 332 RVA: 0x000079E0 File Offset: 0x00005BE0
public new T ParseJson(string json)
{
T t = this.factory();
JsonParser.Default.Merge(t, json);
return t;
}
// Token: 0x0400004B RID: 75
private readonly Func<T> factory;
}
}