Export (0) Print
Expand All
Expand Minimize

Type.FullName Property

Gets the fully qualified name of the type, including its namespace but not its assembly.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

public abstract string FullName { get; }

Property Value

Type: System.String
The fully qualified name of the type, including its namespace but not its assembly; or null if the current instance represents a generic type parameter, an array type, pointer type, or byref type based on a type parameter, or a generic type that is not a generic type definition but contains unresolved type parameters.



For example, the fully qualified name of the String type is System.String. Contrast this with the assembly-qualified name returned by the AssemblyQualifiedName property, which consists of the full name plus the full assembly name.

If the current type represents a closed generic type, the type arguments in the string returned by the FullName property are qualified by their full assembly name, even though the string representation of the generic type itself is not qualified by its full assembly name. The following example illustrates the difference in the FullName property for a type that represents generic type definition and one that represents a closed generic type.

using System;
using System.Collections.Generic;

public class Example
   public static void Main()
      Type t = typeof(List<>);

      List<String> list = new List<String>();
      t = list.GetType();
// The example displays the following output: 
// System.Collections.Generic.List`1 
// System.Collections.Generic.List`1[[System.String, mscorlib, 
//        Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089]]

If the current Type represents a type parameter of a generic type, or an array type, pointer type, or byref type based on a type parameter, this property returns null.

If the current type contains generic type parameters that have not been replaced by specific types (that is, the ContainsGenericParameters property returns true), but the type is not a generic type definition (that is, the IsGenericTypeDefinition property returns false), this property returns null. For example, consider the classes Base and Derived in the following code.

public class Base<TBase> { }
public class Derived<TDerived> : Base<TDerived> { }

If you use the BaseType property to obtain the base type of Derived, the FullName property of the resulting Type object returns null. To get a non-null FullName, you can use the GetGenericTypeDefinition method to get the generic type definition.

This property is read-only.

The following example displays the full name of the specified type.

using System;
class TestFullName 
public static void Main() 
    Type t = typeof(Array);
    Console.WriteLine("The full name of the Array type is {0}.", t.FullName);

/* This example produces the following output:

The full name of the Array type is System.Array.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

© 2014 Microsoft