Zdravím. Chtěl bych si ověřit jeden postup, jestli je správný nebo jestli by nešel udělat jednodušeji: Na webu bych rád použil více datových zdrojů. proto mám interface:
public interface IInterface1
{
string Str1 { get; set; }
}
potom, mám pro každý datový zdroj třídu:
public class Class1 : IInterface1
{
Data data_ = new Data()
public string IInterface1.Str1
{
get
{
return data_.str_1;
}
set
{
data_.str_1 = value;
}
}
}
a nyní třídu Class2
public class Class2
{
IInterface1 interface_ = null;
public Class2()
{
if(UseXML)
{
interface_ = new Class1();
}
}
public string String1
{
get
{
return interface_.Str1
}
set
{
interface_.Str1 = value;
}
}
}
kód je jiný, ale jen pro ukázku. Jak sjem říkal. Chci použít více datových zdrojů, takže chci např získat hodnotu String1, tak zavolám label.Text=Class2.String1; a pokud je v té třídě UseXML na true, tak se inicializuje třída Class1 a načítají se data z ní. Pokud by tam bylo třeba false, inicializovala by se jiná třída. Problém je ale v tom, že takových vlastností mám v každé třídě asi třicet, a příjde mi, že je píšu furt dokola. Že mám spoustu toho stejného kódu, a proto pochybuji o správnosti. Chtěl bych vědět, jesstli to tedy je správně, a pokud ano, jestli by se to dalo nějakým způsobem zjednodušil Mnohokrát děkuji
|