2012-09-30 61 views
2

使用下面的代碼,我得到以下錯誤: NinjaSteps.cs(16,13):錯誤CS0103:名稱'ninja'在當前上下文中不存在在當前上下文中不存在名稱'ninja'

我用它來編譯命令行是: 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/ reference:C:\Users\Rahul\Documents\Visual~1\Projects\ConsoleApplication3\Console Application3\Ninja.dll NinjaSteps.cs

我試圖編譯的代碼是從黃瓜自動化技術教程:

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" }); 
     } 
    } 
} 

答案和反饋將不勝感激。通過類似的線程,我發現決議取決於個案的基礎,並且它們沒有一致的根本原因,我覺得我必須詳細說明確切的代碼細節以瞭解原因。您的時間和幫助將不勝感激。謝謝。

回答

1

您尚未定義變量ninja。您需要:

var ninja = new Ninja(level); 

對動作做同樣的事情。

編輯:

實際上,這兩個變量應該是在類中的字段/屬性,如果我正確地理解你的意圖。

0

本教程沒有告訴你整個歷史。如果您轉到source code,您會看到實際上有一個字段ninja聲明已在方法TheNinjaHasABlackBelt(您已擁有)中初始化。

相關問題