microsoft / microsoft/CsWin32

Consider having IVTable follow visibility configuration

Open
#1,033 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C#
Stars
2.5k
Forks
123
Avg merge
1d 3h
Merged PRs (30d)
9

Description

IVTable is currently hardcoded to internal. This makes it impossible to utilize by other assemblies when one has configured CsWin32 for public visibility. The fallout of this is that it is impossible to leverage the auto-generation of ComWrappers CCWs in an external project (as done with the IManagedWrapper pattern that WinForms uses).

The requested fix is just to follow whatever the visibility configuration is.

Note that this comes up in my personal project, not WinForms, as WinForms does not publicly expose the generated CsWin32 interop.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Locate the IVTable generation and the CsWin32 visibility configuration, then compare the generated declaration with the IManagedWrapper pattern linked in the issue. Done means IVTable uses the configured visibility so an external project can leverage generated ComWrappers CCWs.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
devtools
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.