抽象类作为列表管理器(包含列表的列表)以减少样板代码?

4
假设我有一个人类(Person Class),其中包含两个列表(电子邮件和电话详情),有些人拥有多个电子邮件和电话号码。
电话详情包含变量,如号码、服务提供商、套餐名称等。电子邮件也类似。
public class Person
{
    private String _FirstName;
    private String _LastName;
    private DateTime? _DateOfBirth = null;
    private List<Email> _Email = new List<Email>( );
    private List<PhoneDetails> _PhoneDet = new List<PhoneDetails>( );
}

不要为每个操作(add、find、insert...)都写一遍代码,我正在思考一种创建列表管理器抽象类(或其他类)的方法,这样就不必编写所有样板代码,但仍然可以以半受控方式管理列表(例如Person类内的权限)。

我知道List<List<object>> ListMgr = new List<List<object>>();是一个开端,但对于我的当前技能水平来说太过艰深难懂。

我知道这远远超出了我的能力范围,因为我才刚开始学习,但我在任何地方都找不到类似的内容,因为我使用了很多列表,所以想在这里提出来。只是不确定公共方式是否最佳...

谢谢。


4
我不清楚你认为这个列表管理器将消除哪些样板代码,也不知道它在实际使用中会如何被使用。请说明。 - Damien_The_Unbeliever
1个回答

1

为什么不这样做呢

public class ListManager<A, B, C, D> : Tuple<List<A>, List<B>, List<C>, List<D>>
{}

这种方法确实是强类型的,但在开始之前您需要知道所有列表及其类型。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接