use indexer, something like
public object this [int index]
{
get {...}
set {...}
}see
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vclrfindexedpropertiespg.asp
public object this [int index]
{
get {...}
set {...}
}see
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vclrfindexedpropertiespg.asp
解决方案 »
- 给类或借口添加什么特性能让他们在VS的智能感知中是隐藏的
- 程序集引用的问题
- JS输出静态页面
- 把数据转换到有嵌套的XML格式
- 找不到类型或命名空间名称“FileInfo”(是否缺少 using 指令或程序集引用?
- 求助关于插入USB自动调出页面问题
- 如何取button数量值?
- 如何用System.Net.HttpWebRequest类来设置一个http请求头的Accept-Language和Accept-Encoding标头值?
- 郁闷的问题,哇哇哇!
- 使一个类既继承自一个类同时也实现一个接口的语法是什么?
- asp.net访问win2003数据库问题
- 关于在C#中添加引用 OPC Automation 2.0组件的导致添加组时出错的问题??
{
return myArray[index];
}
set
{
myArray[index] = value;
}
using System.Collections;
namespace Fetri.oilManageClass
{
public class SysnoteEntityCollection:IList,ICollection,IEnumerable
{
System.Collections.ArrayList elements;
public SysnoteEntityCollection()
{
elements=new System.Collections.ArrayList();
} public SysnoteEntity this[int index]
{
get
{
return (SysnoteEntity)this.elements[index];
}
set
{
this.elements[index]=value;
}
} int IList.IndexOf(object value)
{
return ((SysnoteEntityCollection)this).IndexOf((SysnoteEntity)value);
} public int IndexOf(SysnoteEntity value)
{
return this.elements.IndexOf(value);
} public bool IsReadOnly
{
get
{
return this.elements.IsReadOnly;
}
} object IList.this[int index]
{
get
{
return ((SysnoteEntityCollection)this)[index];
}
set
{
((SysnoteEntityCollection)this)[index]=(SysnoteEntity)value;
}
} public bool IsFixedSize
{
get
{
return this.elements.IsSynchronized;
}
} public bool IsSynchronized
{
get
{
return true;
}
} public int Count
{
get
{
return this.elements.Count;
}
} public void CopyTo(System.Array array,int index)
{
this.elements.CopyTo(array,index);
} public object SyncRoot
{
get
{
return this.elements.SyncRoot;
}
} public System.Collections.IEnumerator GetEnumerator()
{
return this.elements.GetEnumerator();
} public int Add(SysnoteEntity value)
{
return this.elements.Add(value);
} int IList.Add(object value)
{
return ((SysnoteEntityCollection)this).Add((SysnoteEntity)value);
} void IList.Insert(int index, object value)
{
((SysnoteEntityCollection)this).Insert(index,(SysnoteEntity)value);
} public void Insert(int index, SysnoteEntity value)
{
this.elements.Insert(index,value);
} public void RemoveAt(int index)
{
this.elements.RemoveAt(index);
} void IList.Remove(object value)
{
((SysnoteEntityCollection)this).Remove((SysnoteEntity)value);
} public void Remove(SysnoteEntity value)
{
this.elements.Remove(value);
} bool IList.Contains(object value)
{
return ((SysnoteEntityCollection)this).Contains((SysnoteEntity)value);
} public bool Contains(SysnoteEntity value)
{
return this.elements.Contains(value);
} public void Clear()
{
this.elements.Clear();
}
}
}
索引
例如:1: 定义类
class MyArray
{
ArrayList list = new ArrayList();
..... public object this[int index]
{
get{return this.list[index];}
set{this.list[index] = value;}
}
.....
}2: 运用MyArray _arrayObj = new MyArray();
object obj = _arrayObj[2];
要重载[]