Giới thiệu
Phương thức GetType() (kế thừa từ object) trả về đối tượng Type mô tả kiểu runtime của instance. Hữu ích cho reflection, logging, serialization.
Ví dụ 1: Kiểu string
using System;
public class Demo
{
public static void Main()
{
string s = "Demo";
Console.WriteLine("Chuỗi = " + s);
Console.WriteLine("Kiểu chuỗi = " + s.GetType());
}
}
Kết quả
Chuỗi = Demo
Kiểu chuỗi = System.String
Ví dụ 2: Các kiểu giá trị cơ bản
using System;
public class Demo
{
public static void Main()
{
double val1 = 5.5;
int val2 = 10;
short val3 = 2;
Console.WriteLine("Giá trị = " + val1);
Console.WriteLine("Kiểu = " + val1.GetType());
Console.WriteLine("Giá trị = " + val2);
Console.WriteLine("Kiểu = " + val2.GetType());
Console.WriteLine("Giá trị = " + val3);
Console.WriteLine("Kiểu = " + val3.GetType());
}
}
Kết quả
Giá trị = 5.5
Kiểu = System.Double
Giá trị = 10
Kiểu = System.Int32
Giá trị = 2
Kiểu = System.Int16
Ứng dụng
- Kiểm tra kiểu runtime:
obj.GetType() == typeof(MyClass). - Reflection:
type.GetProperties(),type.GetMethods(). - Polymorphism: đối tượng base class tham chiếu đến derived class,
GetType()trả về kiểu thực tế. - Anonymous type:
var x = new { Name = "A" }; x.GetType()trả về kiểu compiler-generated.