What is the point to declare internal abstract methods in the public abstract class that no-one will be able to use?
See original GitHub issueWe are continuously addressing and improving the SDK, if possible, make sure the problem persist in the latest SDK version.
Describe the bug
We use Cosmos SDK v3.2 and want to upgrade to v3.4 but since new version introduces internal abstract method in public abstract class FeedIterator<T>
there is no way to compile the code anymore. We do implement FeedIterator class in our Mock infrastructure for testing purposes but now the new version throws 'MockCosmosQuery<T>' does not implement inherited abstract member 'FeedIterator<T>.TryGetContinuationToken(out string)'
error while if we try to implement missing method it will now complain that 'MockCosmosQuery<T>.TryGetContinuationToken(out string)': no suitable method found to override
. Could you please make TryGetContinuationToken method public in the public abstract class?
To Reproduce Steps to reproduce the behavior. If you can include code snippets or links to repositories containing a repro of the issue that can helps us in detecting the scenario it would speed up the resolution.
Expected behavior
Give some alternative how to implement FeedIterator<T>
class
Actual behavior Unable to upgrade to v3.4 and have out test infrastructure working.
Environment summary SDK Version: 3.4. OS Version : Windows
Additional context Please think how your library may be used by external developers before marking methods internal.
Issue Analytics
- State:
- Created 4 years ago
- Comments:8 (5 by maintainers)
Top GitHub Comments
@j82w already referenced and confirming that it works. Thank for the fix!
The PR is out. I’ll try to get a hotfix out tomorrow. There is a work item to include public samples as part of the test projects to prevent this in the future.