Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Jedna promenljiva a dva tipa.

[es] :: .NET :: Jedna promenljiva a dva tipa.

[ Pregleda: 1424 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

darmar_pr
Programer

Član broj: 214169
Poruke: 44
93.86.95.*



+2 Profil

icon Jedna promenljiva a dva tipa.27.12.2009. u 15:45 - pre 174 meseci
Evo ovako,
hteo bih da koristim jednu promenljivu (recimo conn) koja će u zavisnosti od izabranog tipa Sql Servera biti SqlConnection ili SqlCEConnection. Slično sam nekada u VB.NET rešavao tipovima Variant ili Object. U C# to mi ne prolazi. Evo jednostavnog dela koda:


Object conn=null;
if(serverType==enumServerType.DataBaseEngine)
{
conn = (SqlCeConnection)Activator.CreateInstance(typeof(SqlConnection));
}
if(serverType==enumServerType.SqlServerCompactEdition)
{
conn = (SqlCeConnection)Activator.CreateInstance(typeof(SqlCeConnection));

}
conn.ConnectionString = GetConnectionString();
.....
Poslednja naredna pravi problem. Krod prevođenja javlja: 'object' does not contain a definition for 'ConnectionString'.
Jasno mi je gde je i zašto greška ali ne znam kako da je rešim.

 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Jedna promenljiva a dva tipa.27.12.2009. u 15:58 - pre 174 meseci
deklarisi conn kao DbConnection jer je on parent oba objekta i eksponira ConnectionString koji koristis.

C# ne dozvoljava takav deklaracioni polimorfizam kroz late-binding (niti je taj kod optimalan), ako hoces polimorfizam moras da koristis ili nasledni polimorfizam ili da branchujes kod i koristis casting.

I btw, mislim da ti kod i inace ne valja jer castujes SqlConnection u SqlCeConnection sto nema sanse da prodje bez runtime greske.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

darmar_pr
Programer

Član broj: 214169
Poruke: 44
93.86.95.*



+2 Profil

icon Re: Jedna promenljiva a dva tipa.27.12.2009. u 16:16 - pre 174 meseci
Citat:
mmix
I btw, mislim da ti kod i inace ne valja jer castujes SqlConnection u SqlCeConnection sto nema sanse da prodje bez runtime greske.


Ma to sam ja pogresio kod Copy/Paste.
I hvala na odgovoru.



[Ovu poruku je menjao darmar_pr dana 27.12.2009. u 17:31 GMT+1]
 
Odgovor na temu

[es] :: .NET :: Jedna promenljiva a dva tipa.

[ Pregleda: 1424 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.