isassignablefrom
是 C# 中的一个关键字,用于检查一个类型是否可以安全地转换为另一个类型。这在泛型编程和动态类型转换时非常有用。以下是如何使用 isassignablefrom
的示例:
using System;
class Program
{
static void Main()
{
Type type1 = typeof(int);
Type type2 = typeof(double);
Type type3 = typeof(string);
Console.WriteLine($"Is {type1} assignable from {type2}? {type1.IsAssignableFrom(type2)}"); // 输出: Is System.Int32 assignable from System.Double? False
Console.WriteLine($"Is {type1} assignable from {type3}? {type1.IsAssignableFrom(type3)}"); // 输出: Is System.Int32 assignable from System.String? False
Console.WriteLine($"Is {type2} assignable from {type1}? {type2.IsAssignableFrom(type1)}"); // 输出: Is System.Double assignable from System.Int32? True
Console.WriteLine($"Is {type3} assignable from {type1}? {type3.IsAssignableFrom(type1)}"); // 输出: Is System.String assignable from System.Int32? False
}
}
在这个示例中,我们创建了三个 Type
对象,分别表示 int
、double
和 string
类型。然后我们使用 IsAssignableFrom
方法检查一个类型是否可以安全地转换为另一个类型。如果可以,IsAssignableFrom
方法返回 true
,否则返回 false
。