using System; namespace XGame.Framework.Network.Protobuf { public class MessageParser { private Func factory; public MessageParser(Func factory) { this.factory = factory; } public IMsgParser CreateTemplate() { return factory(); } // // public IMsgParser ParseFrom(CodedInputStream input) // { // IMsgParser parser = factory(); // parser.MergeFrom(input); // return parser; // } } // public sealed class MessageParser : MessageParser where T : IMsgParser // { // private readonly Func factory; // // public MessageParser(Func factory) : base(() => factory()) // { // this.factory = factory; // } // // internal T CreateTemplate() // { // return factory(); // } // //// public new T ParseFrom(CodedInputStream input) //// { //// T message = factory(); //// message.MergeFrom(input); //// return message; //// } // } }