/// <summary> /// 得到message /// </summary> /// <param name="nameSpace"></param> /// <param name="name"></param> /// <returns> /// 如果不存在返回null /// </returns> public ProtoBufferMessage Message(string nameSpace, string name) { if (MessagesDic.ContainsKey(nameSpace)) { if (MessagesDic[nameSpace].ContainsKey(name)) { return(MessagesDic[nameSpace][name]); } } return(null); }
public void Parse() { foreach (ProtoBufferFile file in Files) { file.ParseInfos(); } foreach (ProtoBufferFile file in Files) { file.Parse2Message(); } foreach (ProtoBufferFile file in Files) { file.Parse2Field(); } foreach (ProtoBufferFile file in Files) { string nameSpace = file.NameSpace; if (OutNameSpace != null) { file.NameSpace = OutNameSpace; } if (!MessagesDic.ContainsKey(nameSpace)) { MessagesDic.Add(nameSpace, new Dictionary <string, ProtoBufferMessage>()); } foreach (ProtoBufferMessage msg in file.Messages) { if (MessagesDic[nameSpace].ContainsKey(msg.Name)) { throw new ProtoBufferException(string.Format("该命名空间{0}已经存在{1}", nameSpace, msg.Name)); } else { MessagesDic[nameSpace].Add(msg.Name, msg); Messages.Add(msg); } } } }