Skip to content

Value on DocId's MemberSignature tag does not match with corefx's member name when referring an innner class of a generic-type class. #2854

Open
@jozkee

Description

@jozkee

The name of members in xml files in corefx/artifacts/bin folder, generated from triple-slash comments within the source code does not match the dotnet-api-docs/xml <MemberSignature Language="DocId">'s value when it references an inner class within a generic class.

Take the following signature as an example:

public static ImmutableArray<TSource> ToImmutableArray<TSource>(this ImmutableArray<TSource>.Builder builder)

This signature recieves a param of the type ImmutableArray<TSource>.Builder , which is a class defined within the ImmutableArray<TSource> class.
This signature is converted to the following values.

on corefx\artifacts\bin\System.Collections.Immutable\netcoreapp-Debug\System.Collections.Immutable.xml:

<member name="M:System.Collections.Immutable.ImmutableArray.ToImmutableArray``1(System.Collections.Immutable.ImmutableArray{``0}.Builder)">

on dotnet-api-docs\xml\System.Collections.Immutable\ImmutableArray.xml:

<MemberSignature Language="DocId" Value="M:System.Collections.Immutable.ImmutableArray.ToImmutableArray``1(System.Collections.Immutable.ImmutableArray`1.Builder{``0})" />

As you can see, there is a difference in the Value of both nodes property, right in the parameter type.

This is affecting us because we were automatically porting APIs documented via triple-slash comments to the docs repo, with this difference we are unable to match the APIs and we need to go and manually copy-paste the info in the source to the docs repo.

In addition, in the docs page you can see that the name of the overload says that it expects a ImmutableArray<TSource> when it should say ImmutableArray<TSource>.Builder.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Pri3Indicates issues/PRs that are low priorityarea-System.Collectionsdoc-bugProblem with the content; needs to be fixedexternalNot related to content

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions