dotnet / dotnet/aspnetcore

Allow internal types to be invoked by JavaScript interop

Open
#5,560 10 comments 3 reactions 0 assignees View on GitHub
affected-few area-blazor copilot-candidate enhancement feature-blazor-jsinterop Needs: Design severity-minor
Dominant language
C#
Stars
38.4k
Forks
10.9k
Avg merge
2d 10h
Merged PRs (30d)
281

Description

We should be able to mark `public` methods on `internal` types as `[JSInvokable]` since most of the lib developer, like myself, don't want to expose internal types to the end user.

I know that there is the idea that `JSInvokable` is inherently `public` and that mislead the idea that the types using it should be as well. I also know that you can hide a member with `EditorBrowseableAttribute(false)`, but that is just an IDE thing and not truly protecting internal APIs from misuse.

So, please consider change the scan logic to also look into `internal` types.

Thanks!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.