无法查看另一方法中的变量

时间:2018-07-29 13:24:11

标签: c# scope

我正在尝试读取之前定义的内容,但代码看不到

void OnExplosiveThrown(BasePlayer player, BaseEntity entity, InputState input)
{
    if (Test == true )
    {
        var abc = entity as test;
    }
}

void Unload(BaseEntity entity)        ------//This CODE CANT SEE abc //------
{
     entity.Kill(abc);
}

它说abc在当前上下文中不存在。

我该如何解决?

Ty,

1 个答案:

答案 0 :(得分:4)

您已在函数内部声明了abc,因此它是局部范围的变量,无法从此函数外部访问。要从另一个函数或从此函数外部访问此变量,必须在全局范围内声明此变量,如下所示:

test abc = null;

void OnExplosiveThrown(BasePlayer player, BaseEntity entity, InputState input)
{
    if (Test == true )
     {
        abc = entity as test;
     }

}

void Unload(BaseEntity entity)        ------//This CODE CANT SEE abc //------
{
     entity.Kill(abc);
}