aliyun / aliyun-openapi-net-sdk

Alibaba Cloud SDK for .NET
https://www.nuget.org/profiles/aliyun-openapi-sdk
Other
541 stars 625 forks source link

AcsResponse的子类为什么要重复定义RequestId? #47

Closed linys2333 closed 5 years ago

linys2333 commented 6 years ago

AcsResponse里已经有RequestId了,子类又来一个RequestId,隐式隐藏了父类的RequestId。 当有如下泛型方法时:

private T Request<T>(AcsRequest<T> request) where T : AcsResponse
{
    var requestInfo = new APIRequestInfo();
    try
    {
        var result = m_IMMClient.GetAcsResponse(request);
        requestInfo.RequestId = result.RequestId;
        return result;
    }
    catch (Exception ex)
    { ... }
}

其中取RequestId的值,就不会取到子类的值,而是父类的RequestId,实际为null。 我就被这个给坑了啊。。。

AxiosLeo commented 5 years ago

因为sdk代码是自动生成的。