Description
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
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