c# - 如何获取动态确定类型的 GetComponentsInChildren?
问题描述
我有一个由许多其他类扩展的通用类型“敌人”。所以我System.Type t = objectInQuestion.GetType()
可以确定一个特定的“敌人”是什么“类型”。知道类型后,我想在某个区域搜索更多该特定类型。
所以我想做一个GetComponentsInChildren<t>()
. 不过,我不能简单地将返回值扔到t
模板括号<t>
中。我该怎么做呢?
谢谢!
解决方案
除非有人知道如何根据需要直接使用动态类型获取列表,否则我认为最好的解决方法如下。
Enemy[] enemies = someObject.GetComponentsInChildren<Enemy>();
foreach (Enemy e in enemies)
{
if e.GetType() == objectInQuestion.GetType()
{
DoAThing(e); // Or add e to a list or whatever
}
}
推荐阅读
- selenium-webdriver - Selenium Xpath 使用 gettext() 方法中的值不起作用
- python - 是否可以在 python 中并行化这个循环?
- xml - 有没有一种方法可以将 XML 修复为更易读的形式而无需手动工作?
- dart - 监听 StreamingController 并更新列表
- php - theme-woocommerce.php 中未定义的可变图像大小
- sql-server - T-SQL 查询未在输出中分组结果
- javascript - 从 GMT 获取当前日期
- c++ - 与c++类定义相关的c++语法理解问题
- c++ - OpenGL中的QPainter中断坐标系
- android - 使用 Billing API 取消 Google Play 订阅?