所以我想通過擴展方法將我的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答案。
}
這些是來自Response的基類
public class Response< T> where T : BaseObjectBo : 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; }
uj5u.com熱心網友回復:
注意,你只需要在你的方法簽名中添加<T>。
public static ResponseReply ToProtoObject< T>(this Response< T> reply)
where T : BaseObjectBo
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/318622.html
標籤:
下一篇:Java泛型與繼承和介面c
