2013-04-04 76 views
-1

已回答問題csharpler。我不知道我創建了兩個內彼此相同類(在MenuMaker類)的....X不包含對Y的定義

X

X

X

下面是代碼樣品I」

namespace MeatMenuProgram 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 

      MenuMaker menu = new MenuMaker() { Randomizer = new Random() }; 
      label1.Text = menu.GetMenuItem(); 
      label2.Text = menu.GetMenuItem(); 
      label3.Text = menu.GetMenuItem(); 
      label4.Text = menu.GetMenuItem(); 
      label5.Text = menu.GetMenuItem(); 
      label6.Text = menu.GetMenuItem(); 
     } 
    } 
} 

我由MenuMaker類:

與具有麻煩米

但它不編譯。錯誤日誌:

錯誤1「MeatMenuProgram.MenuMaker」不包含關於「隨機函數發生器」

錯誤2的定義「MeatMenuProgram.MenuMaker」不包含關於「GetMenuItem」的定義和沒有擴展方法「GetMenuItem」接受型「MeatMenuProgram.MenuMaker」的第一個參數可以找到(是否缺少using指令或程序集引用?)

+0

是'Randomizer'公共? – I4V 2013-04-04 19:45:05

+1

您可以向我們展示您的MenuMaker對象嗎? – IronMan84 2013-04-04 19:45:28

+2

爲什麼你的MenuMaker類嵌套在另一個MenuMaker類中? – 0xFF 2013-04-04 19:54:27

回答

0

你的類MenuMaker,爲錯誤狀態,不包含這些屬性/您嘗試訪問的方法。你必須有

public string GetMenuItem() { } 
public Random Randomizer { get; set; } 

在類MenuMaker

你有MenuMaker類嵌套在另一個具有相同的名稱,你必須刪除加倍class MenuMaker {(和結束大括號)。

+0

'添加'MenuMaker'類。 – user2129296 2013-04-04 19:52:42

+0

@ user2129296我更新了我的答案,讓我知道這是否解決了您的問題 – pascalhein 2013-04-04 19:55:01

+1

哇,我很笨。我沒有注意到嵌套類。 – user2129296 2013-04-04 19:56:53

1

首先,您應該使用C#編程約定,例如:以小寫字母開始變量名稱,參數和字段

然後,在您的代碼中,以好看的。你看到MeatMenuProgram命名空間嗎?是。它是否包含MenuMaker課程?是的,它確實。 那個類是否包含字段randomizer?不,不是的。它包含另一類也叫MenuMaker。相反,刪除內部類和所有你的問題消失:

namespace MeatMenuProgram 
{ 
    class MenuMaker 
    { 
     public Random randomizer; 

     string[] meats = 
     { "Roast beef", "Salami", "Turkey", "Ham", "Pastrami" }; 

     string[] condiments = 
     { "yellow mustard", "brown mustard","honey mustard" }; 

     string[] breads = 
     { "rye", "white", "wheat", "pumpernickel" }; 

     public string GetMenuItem() 
     { 
      string randomMeat = meats[randomizer.Next(meats.Length)]; 
      string randomCondiment = condiments[randomizer.Next(condiments.Length)]; 
      string randomBread = breads[randomizer.Next(breads.Length)]; 

      return randomMeat + " with " + randomCondiment + " on " + randomBread; 
     } 
    } 
} 
相關問題