다음과 같은 수업이 있습니다.
[ProtoContract]
public class BaseModel<T>
{
[ProtoMember(1, IsRequired = true), ]
public int Timestamp { get; set; }
[ProtoMember(2, IsRequired = true)]
public T Data { get; set; }
}
[ProtoContract]
public class IdName
{
[ProtoMember(1)]
public int Id { get; set; }
[ProtoMember(2)]
public string Name { get; set; }
}
그리고 다음 메서드를 호출하여 proto 파일을 생성합니다.
string protoFile = Serializer.GetProto<List<IdName>>();
다음과 같은 출력이 나타납니다.
package Protobuf_Test;
message BaseModel_List`1 {
required int32 Timestamp = 1 [default = 0];
repeated IdName Data = 2;
}
message IdName {
optional int32 Id = 1 [default = 0];
optional string Name = 2;
}
이 이상한 이름을 생성하는 이유는 무엇 BaseModel_List`1
입니까? 이것에 대한 이름을 설정하는 방법이 있습니까?
미리 감사드립니다
질문의 코드 :
string protoFile = Serializer.GetProto<List<IdName>>();
잘 작동합니다-나쁜 이름은 없습니다. 다음을 의미한다고 가정합니다.
string protoFile = Serializer.GetProto<BaseModel<List<IdName>>>();
그런 다음 생성기 코드에 대한 감독입니다. 나는 이것을 버그로 기록했다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다