class BirthsList
{
private int[] births;
private string[] bithsRegionNames; public int this[int index]
{
get{...}
set{...}
} public int this[string indexName]
{
get{return this[NameToIndex(indexName)];}
set{this[NameToIndex(indexName)] = value;}
} private int NameToIndex(string indexName)
{
//通过查找,将indexName转化为index,没找到则返回-1
}
}以上例子,可以通过重载来决定访问哪个索引器,但如果BirthsList类
还有一个私有成员变量private int[] ages;也想通过索引器访问,
那该怎么办啊?请好手指教,谢谢!
{
private int[] births;
private string[] bithsRegionNames; public int this[int index]
{
get{...}
set{...}
} public int this[string indexName]
{
get{return this[NameToIndex(indexName)];}
set{this[NameToIndex(indexName)] = value;}
} private int NameToIndex(string indexName)
{
//通过查找,将indexName转化为index,没找到则返回-1
}
}以上例子,可以通过重载来决定访问哪个索引器,但如果BirthsList类
还有一个私有成员变量private int[] ages;也想通过索引器访问,
那该怎么办啊?请好手指教,谢谢!
解决方案 »
- 求:winform中DataGridView让它每行的columnType不一样啊??
- 菜鸟求助
- c# 窗体中DATAGRIDVIEW控件显示问题
- 请教高手 关于在C#中如何使用RAWMOUSE结构
- 请教一个窗体刷新问题!
- 关于winform中控件显示数据及实现右键修改/保存功能
- ASP.NET中怎么样实现两个用户控件之间传递一个变量值?
- 急、急、急!20分急求一简单问题的解答
- 关于 world wind 的问题 ,重谢!
- 将datagridview中的数据导出为Excel文件
- 请教大家一个数据库相关的问题.急啊.....................
- 【求助】请问怎么设置MSDN的路径啊?
public int GetBirth(int i);如果你坚持的话,要知道索引器可以接受多个参数的using System;public enum MyIndex
{
Age,
Number
}class TestIndexer
{
private int[] ages;
private int[] numbers; public TestIndexer()
{
ages = new int[]{1,2,3,4};
numbers = new int[]{10,11,23,33};
} public int this[int i]
{
get { return ages[i];}
}
public int this[int i, MyIndex m]
{
get { if (m== MyIndex.Age) return ages[i];else return numbers[i];}
} static void Main()
{
TestIndexer t = new TestIndexer();
Console.WriteLine(t[3]);
Console.WriteLine(t[2,MyIndex.Age]);
Console.WriteLine(t[2,MyIndex.Number]);
}
}