2015-03-27 4 views
-3
namespace FruitGarden 
{ 
    class FruitGarden 
    { 
     private void MakeFruitBaskets() 
     { 
     private FruitBasket basket1 = new FruitBasket(); 
     private FruitBasket basket2 = new FruitBasket(); 
     } 
     static void Main(string[] args) 
     {  
     } 
    } 
} 

Я получаю сообщение об ошибке «} ожидаемое» после открытия скобки моего метода MakeFruitBaskets, даже если метод закрыт должным образом. Помогите?C# - невозможно создать метод в основном классе?

+0

Вы не можете модифицировать переменные внутри метода. –

+0

Намерено ли вы использовать эти корзины во всем классе? или только во время этого метода, в настоящий момент область ограничена этим методом (и, как уже упоминалось, не нужна «частная») – Sayse

ответ

3

Удалить private в private FruitBasket. У вас не могут быть модификаторы доступа по локальным переменным методов.

4

Удалить private от FruitBasket Объявление.

private void MakeFruitBaskets() 
    { 
     FruitBasket basket1 = new FruitBasket(); 
     FruitBasket basket2 = new FruitBasket(); 
    } 

Я думаю, что вы действительно пытаетесь достичь, смотрите что-то вроде ниже. Как видите, мы можем использовать private, потому что мы объявитьFruitBasket как поля. И мы экземпляр их в MakeFruitBaskets метод.

namespace FruitGarden 
{ 
    class FruitGarden 
    { 
     private FruitBasket basket1; // Field 
     private FruitBasket basket2; // Field 

     public FruitGarden() // Constructor 
     { 
      MakeFruitBaskets(); 
     } 

     private void MakeFruitBaskets() 
     { 
      basket1 = new FruitBasket(); 
      basket2 = new FruitBasket(); 
     } 
    } 

    class Program 
    { 
     static void Main(string[] args) 
     { 
      FruitGarden fruitGarden = new FruitGarden(); 
      // Use fruitGarden 
     } 
    } 
} 
+1

@ Возможно, вы можете быть правы, возможно, он попытается использовать их как ** поля * * и просто создайте их для последующего использования. – adricadar

Смежные вопросы