-2

所以我试图通过扩展方法将我的 C# 类映射到 proto 对象,它似乎不接受“this”的泛型类型?

 public static ResponseReply ToProtoObject(this Response<T> reply) {
        ResponseReply answer = new() { 
            Succes = reply.Success
        };
        if (reply.Object != null)
        {
            answer.ObjectId = reply.Object.Id.ToString();
        }

        if (reply.Messages != null)
        {
            answer.Messages.AddRange(reply.Messages.Select(x => x.ToProtoObject()));
        }


        return answer;
    }

这些是响应中的基类

    public class Response<T> where T : BaseObjectBo
{
    public T Object { get; set; }
    public bool Success { get; set; }
    public List<Message> Messages { get; set; }
}
public class BaseObjectBo
{
    public Guid Id { get; set; }
}
4

1 回答 1

0

请注意,您只需要添加<T>到您的方法签名。

public static ResponseReply ToProtoObject<T>(this Response<T> reply) 
    where T : BaseObjectBo
于 2021-09-03T14:02:18.453 回答