C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
Note: You can assign Type variables to the result of a typeof expression. And methods receive a Type parameter as an argument.
Here: A Type is returned by the typeof operator and the GetType method. We call method on the Type.
typeofGetTypeProgram: This shows that you can use Type variables and assign them to the result of evaluations of the typeof operator.
Tip: The Type variables are loaded onto the evaluation stack in the same way as other variables are.
C# program that uses Type variables
using System;
class Program
{
static void Main()
{
// Use type variables.
// ... Then pass the variables as an argument.
Type type1 = typeof(string[]);
Type type2 = "string".GetType();
Type type3 = typeof(Type);
Test(type1);
Test(type2);
Test(type3);
}
static void Test(Type type)
{
// Print some properties of the Type formal parameter.
Console.WriteLine("IsArray: {0}", type.IsArray);
Console.WriteLine("Name: {0}", type.Name);
Console.WriteLine("IsSealed: {0}", type.IsSealed);
Console.WriteLine("BaseType.Name: {0}", type.BaseType.Name);
Console.WriteLine();
}
}
Output
IsArray: True
Name: String[]
IsSealed: True
BaseType.Name: Array
IsArray: False
Name: String
IsSealed: True
BaseType.Name: Object
IsArray: False
Name: Type
IsSealed: False
BaseType.Name: MemberInfo
Therefore: The Type class can be seen as a sort of information about the program, but not the program itself.