Ja dat werkt wel want dat gebruik je al.
Je gebruikt dit soort dingen zo vaak dat je dan moet denken aan een class die dit automatisch doet zodat je niet steeds dezelfde code hoeft te schrijven.
Je zou eens kunnen beginnen met zoiets: (code in notepad, werkt mogelijk niet maar gaat om het idee)
[CPP]public class ProtocolDataManager
{
private string _filename = "protocols.xml";
public List<protocol> LoadProtocols()
{
var serializer = new DataContractSerializer(typeof(List<Protocols>));
var folder = ApplicationData.Current.LocalFolder;
using (var stream = await folder.OpenStreamForReadAsync(_filename))
{
return serializer.ReadObject(stream) as List<Protocols>;
}
}
public void SaveProtocols(List<Protocols> protocols)
{
var serializer = new DataContractSerializer(typeof(List<Protocols>));
var folder = ApplicationData.Current.LocalFolder;
using (var stream = await folder.OpenStreamForWriteAsync(_filename))
{
serializer.WriteObject(stream, protocols); //gebruikt deze code nooit maar zal zoiets zijn, je weet wel wat het moet zijn
}
}
}[/CPP]
gebruik:
[CPP]
var data = new ProtocolDataManager();
var protocolList = data.LoadProtocols();[/CPP]
Later kun je met het gebruik van generics één class maken die dit soort dingen doet en dan geef je het type door in de constructor van de class en de naam van de file:
[CPP]
var data = new DataManager(typeof(List<Protocol>));
var protocolList = data.LoadData("protocols.xml');[/CPP]
of
[CPP]
var data = new DataManager(typeof(List<Favorite>));
var favoriteList = data.LoadData("favorites.xml');[/CPP]
dan schrijf je de code dus 1x en kun je de class overal en altijd her-gebruiken, scheelt een hoop tijd
Je gebruikt dit soort dingen zo vaak dat je dan moet denken aan een class die dit automatisch doet zodat je niet steeds dezelfde code hoeft te schrijven.
Je zou eens kunnen beginnen met zoiets: (code in notepad, werkt mogelijk niet maar gaat om het idee)
[CPP]public class ProtocolDataManager
{
private string _filename = "protocols.xml";
public List<protocol> LoadProtocols()
{
var serializer = new DataContractSerializer(typeof(List<Protocols>));
var folder = ApplicationData.Current.LocalFolder;
using (var stream = await folder.OpenStreamForReadAsync(_filename))
{
return serializer.ReadObject(stream) as List<Protocols>;
}
}
public void SaveProtocols(List<Protocols> protocols)
{
var serializer = new DataContractSerializer(typeof(List<Protocols>));
var folder = ApplicationData.Current.LocalFolder;
using (var stream = await folder.OpenStreamForWriteAsync(_filename))
{
serializer.WriteObject(stream, protocols); //gebruikt deze code nooit maar zal zoiets zijn, je weet wel wat het moet zijn
}
}
}[/CPP]
gebruik:
[CPP]
var data = new ProtocolDataManager();
var protocolList = data.LoadProtocols();[/CPP]
Later kun je met het gebruik van generics één class maken die dit soort dingen doet en dan geef je het type door in de constructor van de class en de naam van de file:
[CPP]
var data = new DataManager(typeof(List<Protocol>));
var protocolList = data.LoadData("protocols.xml');[/CPP]
of
[CPP]
var data = new DataManager(typeof(List<Favorite>));
var favoriteList = data.LoadData("favorites.xml');[/CPP]
dan schrijf je de code dus 1x en kun je de class overal en altijd her-gebruiken, scheelt een hoop tijd