这似乎是一项微不足道的任务,但我找不到怎么做(而且不知道该怎么称呼它).
例.我需要的state是实际上只是字符串列表的类.它必须如此工作:
state s = new state();
s.Add("John Madden");
//s[0] == "John Madden"
Run Code Online (Sandbox Code Playgroud)
我需要向这个类添加一些方法.
你可以继承它:
public class State : List<string>
{}
Run Code Online (Sandbox Code Playgroud)
这样,您就List<string>可以使用自己的类型名称提供完整的界面.然后你可以去,并添加自己的方法.
如果你想要更多地控制它,例如隐藏一些方法或改变它们的工作方式,你也可以创建一个实现的包装类,IList<string>并将其大部分方法委托给私有List<string>实例.像这样:
public class State : IList<string>
{
private List<string> internalList = new List<string>();
public string this[int index]
{
get { return internalList[index]; }
set { internalList[index] = value; }
}
public void Add (string item)
{
internalList.Add(item);
}
// etc. for the other IList<T> members
}
Run Code Online (Sandbox Code Playgroud)