在C#中,isassignablefrom
关键字用于检查一个类型是否可以安全地转换为另一个类型。要测试isassignablefrom
,你可以使用反射来实现。以下是一个简单的示例:
using System;
using System.Reflection;
class Program
{
static void Main()
{
Type type1 = typeof(int);
Type type2 = typeof(double);
bool isAssignable = IsAssignableFrom(type1, type2);
Console.WriteLine($"Is {type1} assignable from {type2}: {isAssignable}");
}
static bool IsAssignableFrom(Type sourceType, Type targetType)
{
return targetType.IsAssignableFrom(sourceType);
}
}
在这个示例中,我们定义了一个名为IsAssignableFrom
的静态方法,它接受两个Type
参数。我们使用IsAssignableFrom
方法检查type1
是否可以安全地转换为type2
,并将结果存储在布尔变量isAssignable
中。最后,我们将结果输出到控制台。
请注意,这个示例使用了IsAssignableFrom
方法,它是Type
类的一个静态方法。这意味着你不需要创建Type
对象实例来调用这个方法。