为了账号安全,请及时绑定邮箱和手机立即绑定

是否可以按名称访问属性,这是一个变量?

是否可以按名称访问属性,这是一个变量?

C#
当年话下 2021-07-09 13:05:19
研究反射,但这似乎不是这里的答案?我明明是菜鸟。我正在尝试/为新的 Battletech 游戏的 mod 做出微小的贡献。我有这个Dictionary并想使用它的键来设置属性,foreach如下所示。我不知道这是在编译时还是运行时,我猜是编译时...我把 *limb* 作为伪代码放在我想象它可能如何工作的地方。该属性mechDef.Head是一个类型对象,LocationLoadoutDef其属性CurrentInternalStructure为float。希望这是有道理的!非常有义务提供任何帮助。public class Settings {    public readonly Dictionary<string, bool> LimbRepair = new Dictionary<string, bool> {        { "Head", false },        { "LeftArm", false },        { "RightArm", false },        { "CenterTorso", false },        { "LeftTorso", false },        { "RightTorso", false },        { "LeftLeg", false },        { "RightLeg", false },    };}MechDef mechDef = new MechDef       (__instance.DataManager.MechDefs.Get(id), __instance.GenerateSimGameUID());foreach (string limb in settings.LimbRepair.Keys) {    if (!settings.LimbRepair[limb]) {                                  mechDef.*limb*.CurrentInternalStructure = Math.Max                    (1f, mechDef.*limb*.CurrentInternalStructure * (float)rng.NextDouble());}
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 178 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信