You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Matthias Jüttner (Jira)" <ji...@apache.org> on 2020/07/15 12:48:00 UTC
[jira] [Created] (THRIFT-5253) using Result in result name
generates wrong IAsync interface
Matthias Jüttner created THRIFT-5253:
----------------------------------------
Summary: using Result in result name generates wrong IAsync interface
Key: THRIFT-5253
URL: https://issues.apache.org/jira/browse/THRIFT-5253
Project: Thrift
Issue Type: Bug
Components: netstd - Compiler
Affects Versions: 0.13.0
Reporter: Matthias Jüttner
Example:
struct GetStringResult{
1: string thisIsAString
}
service MyService{
GetStringResult GetString(1:GetStringParameters getStringParams)
}
This produces two different classes with same Name; one in GetStringResult.cs is the "correct" class and one in the service class.
When implementing an IAsync handler class something like this is generated:
public Task<MyService.GetStringResult> GetStringAsync(GetStringParameters getStringParams, CancellationToken cancellationToken = default(CancellationToken))
{
}
So in this case this is the wrong GetStringResult class.
A workaround is to move the result struct into a different thrift file with different namespace
--
This message was sent by Atlassian Jira
(v8.3.4#803005)