Diskuze: List Static
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 20 zpráv z 20.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Jaký je přesně důvod k statice ? A hlavně proč je ve třídě Program
?
Jinak tě odkážu sem http://www.itnetwork.cz/…ge-collector
V programe je preto, lebo obrázky používam vo viacerých oknách... Static
preto, lebo bez neho mi to nechce ísť ...
V programe mám zapísané :
private static List<Obrazok> obrazky = new List<Obrazok>();
internal static List<Obrazok> Obrazky
{
get { return Program.obrazky; }
set { Program.obrazky = value; }
}
Tohle smaž ! "Static preto, lebo bez neho mi to nechce ísť " tak jasně když je celá třída Program.cs statická.
Udělej si nějaký správce, který si bude předávat přes konstruktoru. ZDE se vůbec statika nehodí a nepoužije ! Jen tak mimochodem, víš co znamená internal ?
To občas generuje IDE přes zkratku na vygenerování property
Resp. generuje to u statiky hlavně a to celkem dává smysl
No tak to už zřejmě jo ale to co zde má uživatel roks, je hloupý nesmysl a zcela špatnej návrh
Je to začátečník, ani nezná konvence, ani neumí pořádně pojmenovat instance ...
Nie neviem čo znamená international, mne to dávnejšie poradil jeden programátor tu na fóre, a odvtedy mi to išlo, tak som sa tým ďalej nezaoberal... Nechápem ako to myslíš, navrhnúť si správcu :/
Udělat si třídu Spravce a v ní mít normalně public List<T> Obrazky {get;set;} a pracovat s jednou instancí v aplikaci. A né to řešit statikou. Pokud nepracuješ s více projekty, tak je internal i public stejné, když pak budeš dělat s více projekty najednou, tak internal je viditelné jen v projektu (assembly) zatím co public všude.
Když se podíváš na zdejší tutoriály o OOP něco podobného se tam
řeší . Udělej si nějakou
třídu, například SpravceObrazku, pro mě lepším názvem ImageManager a v
něm budeš mít List<Obrazek>, následně si tuto instanci správce
budeš posílat skrze konstruktory daných formulářů. Navíc díky tomuto
návrhu můžeš Správci dát metody jako PřidatObrázek, SmazatObrázek,
UložitObrázky, NačístObrázky,...
Každopádně doporučil bych ti se vrátit k seriálu a trošku si ujasnit co
je co
Na rýpání nemám náladu, běž flámovat někde jinde. Díky.
ďakujem pekne
za 1. robím rozhranie pre uľahčenie tvorby hier, taký primitívny Game Maker
za 2.
public string meno { get; set; }
public Bitmap obrazok { get; set; }
public Color farba { get; set; }
public int id { get; set; }
public Obrazok(string Meno, Bitmap Obrazok, Color Farba, int ID)
{
meno = Meno;
obrazok = Obrazok;
farba = Farba;
id = ID;
}
To vypadá v pořádku, jenom v C# se dodržuje konvence že každá vlastnost začíná velkým písmenem Mrkni se schválně třeba na vlastnosti formuláře, Console, čehokoliv a uvidíš že veškeré vlastnosti jsou velkým, je to zvyk který je dobrý dodržovat
IMHO dělat nějaký správce na tvorbu her bez základních znalostí a zkušeností je dle mého názoru trošku špatný. Nechci ti brát nadšení ale asi z toho nevznikne nic moc extra, každopádně naučit se na tom dá pěkně
Veď ide mi o to, aby som sa naučil a veľké písmená? tak to je len silou zvyku
Spíše se obávám že se na tom mnoho nenaučíš, zkus si zdejší cvičení u OOP a když je zvládneš na výbornou zkus si třeba udělat v OOP klasického robota Karla, na pár příkazů ti bude různě chodit a pokládat bloky Nevím co vše už jsi zvládl či ne
K těm počátečním velkým písmenům. Není to je o síle zvyku je to světová konvence která by se měla dodržovat. Tak jako následující
Třídy - první písmeno velké
Metody - to samé
Vlastnosti - to samé
proměnné - malé písmeno
Využívá se spíše CamelCase - tj NejakaMetoda, DruhaNejakaMetoda
Zobrazeno 20 zpráv z 20.