gpt4 book ai didi

c# - 当前上下文中不存在名称 'ninja'

转载 作者:太空宇宙 更新时间:2023-11-03 13:54:40 26 4
gpt4 key购买 nike

使用下面的代码我得到以下错误:NinjaSteps.cs(16,13):错误 CS0103:当前上下文中不存在名称“忍者”

我用来编译的命令行是:csc/target:library/reference:C:\Ruby193\lib\ruby\gems\1.9.1\gems\
cuke4nuke-0.4.0\dotnet\Cuke4Nuke.Framework.dll/reference:C:\Fitnesse\FitNesseRo
ot\jediwhale-fitsharp-a78d820\binary\tools\nunit\framework\nunit.framework.dll/
引用:C:\Users\Rahul\Documents\Visual~1\Projects\ConsoleApplication3\Console
Application3\Ninja.dll NinjaSteps.cs

我要编译的代码来自一个关于 Cucumber 自动化技术的教程:

NinjaSteps.cs:

http://cuke4ninja.com/sec_ninja_survival_net.html

using System;
using System.Collections.Generic;
using System.Text;
using Cuke4Nuke.Framework;
using NUnit.Framework;
using NinjaSurvivalRate;

namespace ConsoleApplication3
{
class NinjaSteps
{ [Given(@"^the ninja has a ([a-z]*) level black-belt$")]
public void TheNinjaHasABlackBelt(String level)
{ ninja = new Ninja(level);
}

[When(@"^attacked by [a\s]*(.*)$")]
public void AttackedBy(String opponent)
{
actions = ninja.AttackedBy(opponent);
}

[Then("^the ninja should (.*)$")]
public void TheNinjaShould(String action)
{
Assert.IsTrue(actions.Contains(action));
}

}
}

Ninja.cs 如下,编译为 Ninja.dll:

using System;
using System.Collections.Generic;
//using System.Linq;
using System.Text;

namespace NinjaSurvivalRate
{
public class Ninja
{
public Ninja(String beltLevel)
{

}
public List<String> AttackedBy(String opponent)
{
if ("Chuck Norris" == opponent)
return new List<string>(
new String[] { "run for his life" });
else
return new List<string>(
new String[] { "engage the opponent" });
}
}
}

答案和反馈将不胜感激。通过类似的线程,我发现解决方案取决于具体情况,并且它们没有一致的根本原因,并且我觉得我必须详细说明确切的代码细节才能理解原因。您的时间和帮助将不胜感激。谢谢。

最佳答案

您还没有定义变量ninja。你需要:

var ninja = new Ninja(level);

对 Action 做同样的事情。

编辑:

实际上,如果我理解正确的话,这两个变量都应该是类本身的字段/属性。

关于c# - 当前上下文中不存在名称 'ninja',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12659033/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com