c# - 无法在此范围内声明,因为该名称在封闭的本地范围内使用
问题描述
我希望能够实例化一个对象,然后给它的所有孩子一个脚本
public void buildTownHall()
{
GameObject TownHallBuilding = Instantiate(townhall, pos, Quaternion.Euler(new Vector3(0, 0, 0)));
foreach (Transform TownHallBuilding in transform)
{
TownHallBuilding.gameObject.AddComponent<ChangeColorChild>();
}
TownHallBuilding.AddComponent<ChangeColor>();
TownHallBuilding.SetActive(true);
}
但我不断收到标题中的错误消息。
解决方案
GameObject TownHallBuilding = Instantiate(... // TownHallBuilding #1
foreach (Transform TownHallBuilding in transform) // TownHallBuilding #2
你不能两者兼得。
顺便提一句。局部变量通常以普通字母(不是大写字母)开头。
也许 foreach 应该是:
foreach (Transform t in transform)
{
// Use t
}
推荐阅读
- database - Realm js - 注销时如何隐藏以前的用户帐户数据
- mongodb - 如何获取 MongoDB 集合中所有对象的总持续时间?
- django - 在 django 上计算时间
- python - 如何在 VScode 中重构文件/python 模块?
- authentication - .net 核心中 Jwt 安全令牌的过期时间错误
- python - python matplotlib 后端配置
- c# - 当窗口最小化最大化或改变大小时,Powerpoint 中是否存在事件?
- mdx - 将 Dimension 项与数值相乘
- kubernetes - PersistentVolumeClaim 在阿里云 Kubernetes 上创建失败
- c - 当我分叉时得到错误的地址?