bukaj: ukaz presne kde som pytal nejaky kod! len som sa pytal ako by ste to vy riesili. No vidim ze tu sa clovek nedopracuje chleba…
Příspěvky odeslané z IP adresy 78.98.6.–
djanosik napsal:
To mnn : Ne
Ooooh, a ja hlupak som si myslel ze forum tu je od toho aby sa tu radilo a nie aby sa tu ignorovali problemy… lol
djanosik: cize mam to chapat ze mi nechces poradit?
djanosik: Dik za radu, ale prave tomuto som sa chcel vyhnut. Ako by sa to dalo vyriesit "elegantneji"?
bukaj: Tu ide o to ze cast kodu ktora pouziva instancie tych tried, pouziva len metody definovane v Interfaci (cize tomu kodu je jedno ci sa za tym skryva A alebo B trieda). Zvysok kodu musi vediet ci sa jedna o trieduA alebo trieduB.
bukaj: OK, cize ak v interfaci dam tie metody (cize A,B,C) a triedaB nebude podporovat metoduC tak vyhodim exception NotSupportedException a zachytavat v try..catch? Lebo ako pozeram tak napr vo WinForms to takto je. Dalsia rezia na zachytenie vynimky a osetrenie…
interface IRozhranie
{
void MetodaA
}
class TriedaA : IRozhranie
{
void MetodaA()
{
//nejaky kod
}
void MetodaC()
{
//nejaky kod
}
}
class TriedaB : IRozhranie
{
void MetodaA()
{
//nejaky kod
}
void MetodaB()
{
//nejaky kod
}
}
Ked zavolam MetodaA tak je to v pohode. Ale ked chcem zavolat MetodaB alebo MetodaC tak musim pretypovat na pozadovanu triedu. Nedalo by sa nejako lepsie toto vyriesit?
Zdravim, mam Interface a 2 triedy, ktore dedia z interfacu. Tie triedy maju clenov, metody... zdedenych od interfacu + vlastne (public). Ide mi o to aby v inych triedach (napr GUI) som nemusel castnut na tu potrebnu triedu, ktoru prave potrebujem. Poradte mi ak to robim zle. Dik
Chrasty: zonda je dost lenivy si vyhladat informacie, predtym otravoval na fore builderu.
djanosik: nudzovy rezim a zrusit spustanie po starte a/alebo premenovat/zmazat mscoree.dll…
Chrasty: tu ide o to ze on chcel zobrazit form pomocou Activate() (a pritom mal Visible = false)…
no jasne ze ti to nenapise, ked vytvaras novy formular a este ho ani nezobrazis! Jezisi kriste…
Form1:
Form2 form = new Form2();
form.ShowDialog(this);
Form2:
((Form1)Owner).textBox1.Text = textBox2.Text
este musis nastavit vo Form1 textBox1.Modifiers = Public…
zonda: tu nejde o ze vytvaras nove vlakna a pytas sa na nieco stale, ale o to ze taketo veci su v MSDN alebo sa daju vygooglit…
djanosik: nemozem si pomoct :-)
zonda:
private void Form1()
{
InitializeComponent();
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyDown);
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
// nejaka akcia
}
}
btw. taketo veci su aj v MSDN :smile12: