// 示例代码:使用 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 中文站