示例#1
0
            internal void AddFile(FileDescriptorProto fileDescriptor)
            {
                if (_filesByName.ContainsKey(fileDescriptor.Name))
                {
                    return;
                }
                _filesByName.Add(fileDescriptor.Name, fileDescriptor);

                foreach (var dependency in fileDescriptor.GetDependencies())
                {
                    AddFile(dependency);
                }
                foreach (var enumeration in fileDescriptor.EnumTypes)
                {
                    AddEnum(enumeration);
                }
                foreach (var message in fileDescriptor.MessageTypes)
                {
                    AddMessage(message);
                }
                foreach (var service in fileDescriptor.Services)
                {
                    AddService(service);
                }
            }