通过 Boo 在 C# 应用程序中使用列表

本文关键字:列表 应用程序 Boo 通过 | 更新日期: 2023-09-27 18:31:04

import EternalDungeon
import System.Collections
static def PlayerActivate():
    for x in range(ED.Mobs.Count):
        if ED.Mobs(x).Pos == ED.player.SpaceInFront():
            ED.Mobs(x).OnHit(ED.Sword)
            break

编译时,我收到错误

BCE0077: It's not possible to invoke an expression of type 'System.Collections.Generic.List'1[[EternalDungeon.Mob, Eternal Dungeon, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=null]]

在(6,15)和(7,16)。在 C# 中,我包含这样的程序集,这可能是错误和奇怪的:

        compiler.Parameters.References.Add(Assembly.LoadFile(Directory.GetCurrentDirectory() + @"'Eternal Dungeon.exe";));
        compiler.Parameters.References.Add(Assembly.GetAssembly(typeof(System.Collections.Comparer)));

任何帮助都值得赞赏,我对 Boo 和"程序集"都很陌生。提前谢谢。

通过 Boo 在 C# 应用程序中使用列表

自己解决了这个问题,我混淆了数组的列表,

    if ED.Mobs(x).Pos == ED.player.SpaceInFront():

对 的更改

    if ED.Mobs[x].Pos == ED.player.SpaceInFront():