C# Type IsGenericTypeDefinition
Description
Type IsGenericTypeDefinition
gets a value indicating
whether the current Type represents a generic type definition, from which
other generic types can be constructed.
Syntax
Type.IsGenericTypeDefinition
has the following syntax.
public virtual bool IsGenericTypeDefinition { get; }
Example
The following example displays information about a type, including whether or not it is a generic type definition.
// w ww. j ava2 s . co m
using System;
using System.Reflection;
using System.Collections.Generic;
public class Base<T, U> { }
public class Derived<V> : Base<int, V> { }
public class Test
{
public static void Main()
{
Type derivedType = typeof(Derived<>);
DisplayGenericTypeInfo(derivedType);
// Display its open constructed base type.
DisplayGenericTypeInfo(derivedType.BaseType);
}
private static void DisplayGenericTypeInfo(Type t)
{
Console.WriteLine(t);
Console.WriteLine(t.IsGenericTypeDefinition);
Console.WriteLine(t.IsGenericType);
Console.WriteLine(t.ContainsGenericParameters);
}
}
The code above generates the following result.