public ArrayList choiceArray = new ArrayList();
public UC_RadioX Item(int index)
{
return (UC_RadioX)choiceArray[index];
}
我用的时候:
cc.Item(0).Checked = true;
cc.Item(1).Checked = true;
如何将方法更改为属性?
答案 0 :(得分:2)
您可以通过以下方式定义Indexers:
// ...
public ArrayList choiceArray = new ArrayList();
public UC_RadioX this[int index]
{
get
{
return (UC_RadioX)choiceArray[index];
}
}
// ...
这将允许您在类实例本身上使用[]
表示法:
cc[0].Checked = true;
cc[1].Checked = true;
答案 1 :(得分:1)
以下是一个例子:
http://msdn.microsoft.com/en-us/library/2549tw02.aspx
根据您对其他答案的回复,我认为您可以更轻松地执行您要对属性public List<UC_RadioX> Item { get;set;}
执行的操作,然后,您将直接访问UC_RadioX对象,并且可以访问它通过索引器。这将适用于C#2.0及更高版本。自动实现的属性{get;set;}
是C#3.0及更高版本。
在实例化为cc
的对象中访问这些项目可以像:
UC_RadioX rx = cc.Item[0];
bool good = cc.Item[1].checked;