Jak to polaczyc ? dwie rozne klasy

0

Witam.
Moj problem jest dość nietypowy. Udało mi się napisać programik, ale właśnie zacząłem go upgradować i utknąłem ze względu na fakt, ze do mojego programu dorzucilem klase connect ze zrodel programu ktory ma sie laczyc z siecia gg.
Wygląda to mniej wiecej tak

namespace nazwa_programu
{
public lcass Program
{
public static void Main()
{
TU_CHCE_WYWOLANIE_FUNKCJI_polacz_z_klasy_CONNECT
}
}
public class connect
{
tutaj jest funckja polacz
static void polacz()
{}
}
}

i gdy zaczynam pisac autopodpowiedz nie widzi funkcji polacz w klasie connect a jak wpisze "na chama" w funkcji main w klasie program to jest napisane ze nie moze odnalezc funkcji.

hadacz.connect.polacz();

Ma ktoś jakiś pomysł dlaczego tak jest i jak to usprawnic ?

0

A co tam robi to 'hadacz'?

0

a czy funkcja jest publiczna ...

0

ok, fakt nie byla publiczna ale po przeksztalceniu na

public static void polacz()
{

}

problem nie ruszyl sie z miejsca

0

musi dziala ... patrz uwaga johny_bravo

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            connect.polacz();
            Console.ReadKey();
        }
    }

    public class connect
    {
        public static void polacz()
        {
            Console.WriteLine("bla bla");
        }
    }
}

0

musi to na rusi a w polsce kto jak chce ;] tak mi babcia zawsze powiadala :P
a co do tego to tak to u mnie wyglada

user image

co robi ? teroetycznie ma polaczyc sie z gg >.<

0

Nie musisz uzywac nazwy przestrzeni nazw, bo przeciez jestes wewnatrz. Z pewnych wzgledow nawet nie powinienes ;) Sprobuj bez tego 'hadacz'.

0

tak czy inaczej to nie rusza z miejsca mojego problemu O_o. Zastanwia mnie dlaczego nie moge sie odwolc do tej funkcji

0

Olej podpowiadacza, napisz tak jak powinno byc (czyli bez hadacza) i wklej tu blad kompilacji jaki (mniemam) wyskoczy.

0

OK wiec po czesci to byl moj blad, upublicznilem funkcje polacz ale zaczela "dzialac" po wrzuceniu jej do main.

swoja droga

Error	2	An object reference is required for the nonstatic field, method, or property 'hadacz.connect.polacz(int, string)'	C:\Documents and Settings\lo53r\Pulpit\Nowy folder\hadacz\hadacz\Program.cs	544	13	hadacz

O co jemu chodzi :>

0

A jak to teraz wyglada w kodzie, bo cos nie moge zjarzyc tego bledu.

0
namespace hadacz
{
{public class Program
{
public static void Main()
        {
            connect.polacz();    <--- blad po dwukliku wskazuje ta linie
            if (uruchomienie == false)
            {                
                pokaz_menu(1);
                uruchomienie = true;
                decyzje(1, false);
            }
            else
            {
               while (decyzja != ConsoleKey.D0)
                {
                    pokaz_menu(2);
                    decyzje(2,false);
                }                     
            }
        }
}

public class connect
{
 public void polacz()
{

}
}

}
0

polacz teraz nie jest typu static ;) wiec to jeszcze musisz dodac.

0

sporo bede musial dodac tych staticow -.-

0
lo53r napisał(a)

sporo bede musial dodac tych staticow -.-

Nie rozumiem.

0

ze wzgledu na to ze po poprawieniu tego bledu static'em wyskakuje mi okolo 80 tych samych bledow wskazujacych inne miejsca

0

Najwyrazniej korzystasz ze skladowych/metod niestatycznych. Coz... Sam sobie tak zaprojektowales klase, wiec sam sie zastanow czy ma to sens.

0

programik mi działał jak talala :) dopiero jak wkleilem klase connect i zechcialem sie odwolac do jej funkcji polacz() zaczely sie klopoty :P tak wiec nie ja to projektowalem :)

0

No to skoro metoda polacz klasy connect nie jest zaprojektowana, zeby byc static, to nie rob jej static na sile ;)

Zamiast tego napisz:

connect myConnect = new connect();
myConnect.polacz();


I nic zmieniac nie musisz.
0

Drogi panie, nie wiem jak dziękować, ale działać będzie :))))

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