Пример #1
0
func printMessage(gen *Generator, msg *pbmeta.Descriptor, file *pbmeta.FileDescriptor) {
	gen.Println("[global::System.Serializable, global::ProtoBuf.ProtoContract(Name=@\"", msg.Name(), "\")]")
	gen.Println("public partial class ", msg.Name(), " : global::ProtoBuf.IExtensible")
	gen.Println("{")
	gen.In()

	gen.Println("public ", msg.Name(), "() {}")
	gen.Println()

	for i := 0; i < msg.FieldCount(); i++ {

		fd := msg.Field(i)
		printField(gen, fd, msg, file)
		gen.Println()
	}

	for i := 0; i < msg.EnumCount(); i++ {

		enum := msg.Enum(i)
		printEnum(gen, enum)
	}

	gen.Println("private global::ProtoBuf.IExtension extensionObject;")
	gen.Println("global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)")
	gen.Println("{ return global::ProtoBuf.Extensible.GetExtensionObject(ref extensionObject, createIfMissing); }")

	gen.Out()
	gen.Println("}")

}