在下面的代码中,这两个同名的抽象类是什么用法,可以实现什么样的功能?
在实现类中实现时所继承的类是:DataSource<TimeDataSource.TimeField>
public abstract class DataSource
{
public virtual int Index { get; set; }
public virtual string Name { get; set; }
private List<Field> fields = new List<Field>();
public IEnumerable<Field> Fields { get { return fields; } } public abstract class Field
{
public abstract void Save(XElement element);
public abstract void Load(XElement element);
} public abstract Field CreateField();
public virtual void AddField(Field field)
{
fields.Add(field);
}
public virtual void DeleteField(Field field) { } public abstract void Save(XElement element);
public abstract void Load(XElement element);
} public abstract class DataSource<TField> : DataSource where TField : DataSource.Field, new()
{
public override DataSource.Field CreateField()
{
return new TField();
}
}
在实现类中实现时所继承的类是:DataSource<TimeDataSource.TimeField>
public abstract class DataSource
{
public virtual int Index { get; set; }
public virtual string Name { get; set; }
private List<Field> fields = new List<Field>();
public IEnumerable<Field> Fields { get { return fields; } } public abstract class Field
{
public abstract void Save(XElement element);
public abstract void Load(XElement element);
} public abstract Field CreateField();
public virtual void AddField(Field field)
{
fields.Add(field);
}
public virtual void DeleteField(Field field) { } public abstract void Save(XElement element);
public abstract void Load(XElement element);
} public abstract class DataSource<TField> : DataSource where TField : DataSource.Field, new()
{
public override DataSource.Field CreateField()
{
return new TField();
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货