高手进来解释一下
klan 2007-08-22 02:27:36 我今天读了以下2段代码,有所不清楚,望告诉作答.谢谢
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters;
using System.Runtime.Serialization.Formatters.Binary;
using System.Text;
namespace KPIReportsApp
{
[Serializable]
public abstract class Settings<T>
{
protected abstract T GetDefault();
protected abstract string GetFilename();
protected T Load()
{
if (File.Exists(GetFilename()))
{
BinaryFormatter bf = new BinaryFormatter();
using (FileStream fs = new FileStream(GetFilename(), FileMode.OpenOrCreate))
{
return (T) bf.Deserialize(fs);
}
}
return GetDefault();
}
public void Save()
{
BinaryFormatter bf = new BinaryFormatter();
using (FileStream fs = new FileStream(GetFilename(), FileMode.OpenOrCreate))
{
bf.Serialize(fs, this);
}
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace KPIReportsApp
{
[Serializable]
public class DailyReportFormSettings : Settings<DailyReportFormSettings>
{
public static DailyReportFormSettings Current()
{
return new DailyReportFormSettings().Load();
}
protected override string GetFilename()
{
return "DailyReportFormSettings.cfg";
}
protected override DailyReportFormSettings GetDefault()
{
DailyReportFormSettings def = new DailyReportFormSettings();
def.Cell1 = "D15";
return def;
}
private string cell1;
public string Cell1
{
get { return cell1; }
set { cell1 = value; }
}
}
}
这2段代码的作用是为了保存config而写的.
只是有些基础知识不是很懂.
在定义类的时候用<T>表示什么? 另外,这种方式的定义有什么好处?
Serializable这里就不要解释了,谢谢