Brak odwołania do obiektu w klasie

0

Witam,
Nie jestem pewien dlaczego nie mam dostępu do utworzonego obiektu w ten samej klasie / strukturze, aby wykonywać na nim dalsze operacje:

Mam taki kod:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace test_struktur
{
    public struct Jajo
    {
        public string Country;
        public int Size;

        public static void build_file(string path, string mode)
        {
            Jajo[] jajko = new Jajo[0];
            jajko[0].Country = mode;
            jajko[0].Size = ask_dane();
        }

        static int ask_dane()
        {
            int data;
            if (jajko[0].Country == "PL")    // The name 'jajko' does not exist in the current context.
            { data = 2; }
            else
            { data = 1; }
            return data;
        }
    }
}
3

jajko jest dostępne tylko tutaj

 public static void build_file(string path, string mode)
        {
            Jajo[] jajko = new Jajo[0];
            jajko[0].Country = mode;
            jajko[0].Size = ask_dane();
        }

jak chcesz, żeby było dostępne też w ask_dane to tą linijkę Jajo[] jajko = new Jajo[0]; wyciągnąć "wyżej" albo rozbić ją na dwie - to Jajo[] jajko; wyciągnąć "wyżej" a to jajko = new Jajo[0]; zostawić w build_file

1

Poza tym nie widzę powodu używania tutaj struktury, która jest typem wartościowym i to działa zupełnie inaczej niż w C/C++. Należy użyć tutaj klasy.

Nie rozumiem także co chcesz osiągnąć poprzez swój kod. Jak chcesz zrobić jakąś fabrykę jajek to lepiej zrobić klasę Jajo i np. fabrykę w postaci, nie wiem... osobnej klasy Kura, czy Sklep, czy FabrykaJaj... Taka nadrzędna klasa konfigurowałaby obiekty klasy Jajo i jakaś jej metoda zwracałaby gotowe jaja (jak to brzmi hehe).

Poczytaj o wzorcu fabryka, bo tak to masz "jajo produkujące jaja" czyli bez sensu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1