You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#方法要求Type类型参数,传入实体类型却报错,求解答

问题原因

你直接传入Entity1是把类型名当作参数,但C#中类型名本身不是Type类型的实例,方法要求的是Type对象,所以会触发报错。

解决方法

要获取类型对应的Type对象,最适合当前场景的方式是使用typeof运算符:

SceneManager.currentScenes[0].FindEntityByClass("main", typeof(Entity1)).Destroy();

如果后续是通过实体实例来获取类型,也可以用实例的GetType()方法(但当前场景不需要):

Entity1 entityInstance = new Entity1();
SceneManager.currentScenes[0].FindEntityByClass("main", entityInstance.GetType()).Destroy();
额外提示

需要确认List<Entity>.Destroy()是否是你自定义的扩展方法,因为默认List<T>并没有这个方法。如果是要销毁列表里的每个实体,应该遍历处理:

var targetEntities = SceneManager.currentScenes[0].FindEntityByClass("main", typeof(Entity1));
foreach(var entity in targetEntities)
{
    entity.Destroy();
}

内容的提问来源于stack exchange,提问作者SpaceChaton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 22:22:11