You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The documentation for Type.IsConstructedGenericType indicates that a Type that returns true for this property is creatable. However, this is not necessarily true.
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.
Type of issue
Other (describe below)
Description
The documentation for
Type.IsConstructedGenericType
indicates that aType
that returnstrue
for this property is creatable. However, this is not necessarily true.The example I've run into was something like:
typeof(IInterface<>).IsConstructedGenericType
isfalse
as I would expect.typeof(ISecond<>).GetMethod("Get").ReturnType.IsConstructedGenericType
istrue
which is not what I expected since thatIInterface<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 whenContainsGenericParameters
isfalse
. 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
The text was updated successfully, but these errors were encountered: