Properties – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Properties – .NET – Fórum – Programujte.comProperties – .NET – Fórum – Programujte.com

 

RePRO0
Super člen
9. 3. 2010   #1
-
0
-

Ahoj. Háže mi to chybu něco jako:

Error 1 Inconsistent accessibility: parameter type 'automat.Stav' is less accessible than method 'automat.Automat.Automat(automat.Stav)' C:\Documents and Settings\RePRO\Local Settings\Data aplikací\Temporary Projects\automat\Form1.cs 15 16 automat



Vůbec nevím, na koho se obrátit, kód je tady:



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace automat
{

public partial class Automat : Form
{
public Automat(Stav stavAutomatu)
{
this.stavVlastnost = stavAutomatu;
InitializeComponent();
}

public void rekniStav() {
aktualStav.stavovaMetoda(this);
}

public Stav stavVlastnost {
get { return aktualStav; }
set { aktualStav = value; }
}

}


abstract class Stav
{
public abstract void stavovaMetoda(Automat hodnota);
}


class Pripraveno : Stav
{
public override void stavovaMetoda(Automat hodnota)
{
hodnota.stavovaVlastnost = "Pripraveno.";
}
}

}

Nahlásit jako SPAM
IP: 83.240.104.–
Software: C; C++; C#; Pascal; Delphi; Java Webdesign: PHP; MySQL; CSS; jQuery; Ajax; Javascript; OOP
9. 3. 2010   #2
-
0
-

Zdravím,
jak je napsáno v té výjimce. Konstruktor má modifikátor public, ale třída stav má modifikátor private. To, jak jistě vidíš, nejde dohromady.

Nahlásit jako SPAM
IP: 88.146.85.–
Dušan Janošík | web: djanosik.cz, @djanosik
RePRO0
Super člen
9. 3. 2010   #3
-
0
-

No, super. A jak by to šlo dohromady? :-)

Nahlásit jako SPAM
IP: 83.240.104.–
Software: C; C++; C#; Pascal; Delphi; Java Webdesign: PHP; MySQL; CSS; jQuery; Ajax; Javascript; OOP
9. 3. 2010   #4
-
0
-

To RePRO : Viz. text výjimky. Když vadí, že modifikátor třídy Stav je nižší, než modifikátor toho konstruktoru, tak to udělej tak, aby nižší nebyl.

Nahlásit jako SPAM
IP: 88.146.85.–
Dušan Janošík | web: djanosik.cz, @djanosik
RePRO0
Super člen
9. 3. 2010   #5
-
0
-

To djanosik : NO, modifikátor toho konstruktoru Automatu je public. Třída Stav konstruktor nemá, takže private? No nevím, jestli to chápu dobře. Jinak díky za radu.

Nahlásit jako SPAM
IP: 83.240.104.–
Software: C; C++; C#; Pascal; Delphi; Java Webdesign: PHP; MySQL; CSS; jQuery; Ajax; Javascript; OOP
9. 3. 2010   #6
-
0
-

To RePRO : No to ani ne. Třída Stav musí být také public, pokud ji chceš takto použít.

Nahlásit jako SPAM
IP: 88.146.85.–
Dušan Janošík | web: djanosik.cz, @djanosik
RePRO0
Super člen
9. 3. 2010   #7
-
0
-

Děkuju, to už funguje. Jestli Tě můžu ještě poprosit, tak to hodilo něco takového:


Error 1 'automat.Automat' does not contain a definition for 'stavovaVlastnost' and no extension method 'stavovaVlastnost' accepting a first argument of type 'automat.Automat' could be found (are you missing a using directive or an assembly reference?) C:\Documents and Settings\RePRO\Local Settings\Data aplikací\Temporary Projects\automat\Form1.cs 43 21 automat

Nahlásit jako SPAM
IP: 83.240.104.–
Software: C; C++; C#; Pascal; Delphi; Java Webdesign: PHP; MySQL; CSS; jQuery; Ajax; Javascript; OOP
9. 3. 2010   #8
-
0
-

Poprosit mě můžeš, ale odpovím ti stejně. Přečti si chybovou hlášku, abys to "něco takového" mohl přetransformovat na konkrétní problém. Jestli máš problémy s angličtinou, tak to je dost špatný, zkus google.

Nahlásit jako SPAM
IP: 88.146.85.–
Dušan Janošík | web: djanosik.cz, @djanosik
RePRO0
Super člen
9. 3. 2010   #9
-
0
-

Problémy nemám. Ale v kódu to napravit je horší. ;-)

Nahlásit jako SPAM
IP: 83.240.104.–
Software: C; C++; C#; Pascal; Delphi; Java Webdesign: PHP; MySQL; CSS; jQuery; Ajax; Javascript; OOP
RePRO0
Super člen
9. 3. 2010   #10
-
0
-

Už vím! ;-) Dobrý, v pohodě. Už Tě nebudu otravovat, měj se.

Nahlásit jako SPAM
IP: 83.240.104.–
Software: C; C++; C#; Pascal; Delphi; Java Webdesign: PHP; MySQL; CSS; jQuery; Ajax; Javascript; OOP
9. 3. 2010   #11
-
0
-

Jestli používáš Visual Studio, tak to ti dost silně napovídá, kde máš co špatně (včetně podtrhávání chybných částí). Když klikneš na tu chybu, tak se dostaneš na řádek, kde se nachází a pak už můžeš zkoušet, kde je chyba.

Nahlásit jako SPAM
IP: 88.146.85.–
Dušan Janošík | web: djanosik.cz, @djanosik
9. 3. 2010   #12
-
0
-

Hmm, mazání samozřejmě nefunguje ... tak dobrý :)

Nahlásit jako SPAM
IP: 88.146.85.–
Dušan Janošík | web: djanosik.cz, @djanosik
velurex0
Stálý člen
10. 3. 2010   #13
-
0
-

Nepovažuje se náhodou absence modifikátoru u třídy za internal, nikoliv private?

Nahlásit jako SPAM
IP: 213.191.119.–
10. 3. 2010   #14
-
0
-

To velurex : Je to samozřejmě pravda. Modifikátory uvádím vždy explicitně, takže jsem to nějak pozapomněl. Díky.

Nahlásit jako SPAM
IP: 88.146.85.–
Dušan Janošík | web: djanosik.cz, @djanosik
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 40 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý