using System;
namespace Google.Protobuf
{
public interface IMessage<T> : IMessage, IEquatable<T>, IDeepCloneable<T> where T : IMessage<T>
{
void MergeFrom(T message);
}
}
public T Get<T>(GpbType.Any packet) where T : IMessage<T>, new()
{
T backpacket = new T();
MessageExtensions.MergeFrom(backpacket, packet.Value);
return backpacket;
}
Pb.LoginAck backpacket = Get<Pb.LoginAck>(packet);
public sealed partial class LoginAck : pb::IMessage<LoginAck>
{
}