Diskuze: Objekty
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 13 zpráv z 13.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Ty tvoje proměnný (uvodniLokace, arvika, falun...) jsou přístupné pouze po vytvoření nové instance Lokace, tzn, že pro přístup si musíš vytvořit novou instanci lokace a z ní přistoupíš k těm ostatním.
Lokace lokace = new Lokace("Jmeno");
// Ted to bude fungovat.
lokace.uvodniLokace...
Předpokládám, že tohle jsi ale udělat nechtěl. Ty chceš, aby jsi měl ty lokace přístupné staticky, tedy musíš napsat neco jako:
const Lokace uvodniLokace = new Lokace("Úvodní lokace");
pak by jsi se měl na instanci uvodniLokace dostat pomocí:
Lokace.uvodniLokace
Snad jsem Ti pomohl.
Bohužel, zkoušel jsem oba způsoby a ani jeden nefungoval. Ten první je podle mě úplně to samé, co mi už předtím nefungovalo. A při tom druhém postupu mi VS sám nabídne třídu Lokace, ale dál už nic
Tak bych se chtěl opravit před to const dej ještě public:
public const Lokace uvodniLokace = new Lokace("Úvodní lokace");
Teď by to už melo fungovat.
Nejsem si jist, zda jsem dokonale pochopil řešený problém, neměl jsem moc čas jej zkoumat, ale řešení by mohlo být (jak psal Petr Š.) použití statiky. Tedy zkus udělat něco jako:
public static Lokace uvodniLokace = new Lokace("Úvodní lokace");
Pak by tato lokace měla být v pohodě volána bez instance, tedy staticky.
Z toho kodu jsem zmatený, samá lokace. Nemůžeš dávat do konstruktoru takto třídu podle mě, teda já to neumím, ale myslím, že to ani nejde, protože aby si ten konstruktor vytvořil musel bys vytvořit třídu atd...Co to má dělat?
Pravda, omlouvám se, přehlédl jsem tvorbu instance a jen jsem zkopíroval kus kódu s předponou static
public class MojeLokace
{
private string _nazev;
public string Nazev
{
get
{
return this._nazev;
}
set
{
this._nazev = value;
}
}
public MojeLokace(string nazev)
{
this.Nazev = nazev;
}
public static MojeLokace UvodniLokace
{
get
{
return new MojeLokace("Úvodni");
}
}
}
a pracuje se s tím takto:
class Program
{
static void Main(string[] args)
{
var l = MojeLokace.UvodniLokace;
Console.WriteLine(l.Nazev);
}
}
bezproblémově to vrátí název té "statické lokace"
Zámerne chceš aby objekt triedy Lokace mal ďalšie properties triedy Lokace, ktoré budú mať ďalšie properties triedy Lokace, ktoré budú pravdepodobne null, ale budú zmätočné?
Tomu rozumím, že funguje, já jsem se spíše ptal na smysl toho prvního příspěvku a metody PridatSmery(která bere samé lokace). A vlastně ani tady to s tím vrat uvodní lokace mi ted nedává smysl, co vlastně v tom projektu chceš aby to dělalo?
No tak to se me ptas asi spatne, koukni, kdo ten prizpevek pridaval 
aha promiň
no ten už s
náma zatím nekomunikuje, tak uvidíme s čím příjde.
Nic velkého, jen bych si chtěl procvičit, co jsem se prozatím naučil.
Ale pokud to bude aspoň trochu vypadat, tak bych to sem možná hodil 
Zobrazeno 13 zpráv z 13.