dotnet-api-docs icon indicating copy to clipboard operation
dotnet-api-docs copied to clipboard

Type.IsConstructedGenericType documentation is wrong -- at least for Framework 4.8

Open kevinms99 opened this issue 11 months ago • 0 comments

Type of issue

Other (describe below)

Description

The documentation for Type.IsConstructedGenericType indicates that a Type that returns true for this property is creatable. However, this is not necessarily true.

The example I've run into was something like:

interface IInterface<T> { }
interface ISecond<T> {
  IInterface<T> Get();
}

typeof(IInterface<>).IsConstructedGenericType is false as I would expect. typeof(ISecond<>).GetMethod("Get").ReturnType.IsConstructedGenericType is true which is not what I expected since that IInterface<T> return type is not creatable.

It turns out that the property that does indicate whether a generic type is creatable is ContainsGenericParameters. For generic types (Type.IsGeneric), I can figure out if a type is creatable when ContainsGenericParameters is false. At least, I haven't found a case when that isn't correct.

Page URL

https://learn.microsoft.com/en-us/dotnet/api/system.type.isconstructedgenerictype?view=netframework-4.8.1

Content source URL

https://github.com/dotnet/dotnet-api-docs/blob/main/xml/System/Type.xml

Document Version Independent Id

f2ac3506-b8f2-890e-ec0a-d77d9a1782a3

Article author

@dotnet-bot

kevinms99 avatar Jan 24 '25 12:01 kevinms99