// 示例代码:使用 Type.IsAssignableFrom 方法
using System;
public class Animal { }
public class Dog : Animal { }
public class Program
{
public static void Main()
{
// 获取类型信息
Type animalType = typeof(Animal);
Type dogType = typeof(Dog);
// 检查 Dog 是否可以赋值给 Animal 类型的变量
bool isAssignable = animalType.IsAssignableFrom(dogType);
Console.WriteLine($"Can a Dog be assigned to an Animal variable? {isAssignable}");
// 检查 Animal 是否可以赋值给 Dog 类型的变量
bool isNotAssignable = dogType.IsAssignableFrom(animalType);
Console.WriteLine($"Can an Animal be assigned to a Dog variable? {isNotAssignable}");
}
}
Type.IsAssignableFrom
方法用于检查一个类型是否可以从另一个类型进行赋值。具体来说,它检查目标类型(调用该方法的类型)是否可以从源类型(作为参数传递的类型)进行赋值。Animal
是基类,Dog
是派生类。animalType.IsAssignableFrom(dogType)
返回 true
,因为 Dog
可以赋值给 Animal
类型的变量。dogType.IsAssignableFrom(animalType)
返回 false
,因为并不是所有的 Animal
都是 Dog
,所以不能将 Animal
赋值给 Dog
类型的变量。下一篇:c# 转义字符
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站