Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NS3000: False positive when getting indexer value #218

Open
reduckted opened this issue Apr 8, 2024 · 0 comments
Open

NS3000: False positive when getting indexer value #218

reduckted opened this issue Apr 8, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@reduckted
Copy link

When using CallInfo.ArgAt<T> to get the value set into an indexer, the NS3000 diagnostic is produced even though the code runs without issues.

public interface IClass {
    int this[string name] { get; set; }
}

public class Test {
    public void Indexer() {
        IClass target = Substitute.For<IClass>();

        target.When((x) => x["foo"] = 42).Do(
            (info) => {
                string key = info.ArgAt<string>(0);
                int value = info.ArgAt<int>(1);
                //          ~~~~~~~~~~~~~~~~~~ There is no argument at position 1
            }
        );
    }
}
@tpodolak tpodolak added the bug Something isn't working label Apr 27, 2024
tpodolak added a commit that referenced this issue May 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants