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;
Как изменить метод на свойства?
2 ответа
Вы можете определить Индексаторы следующим образом:
// ...
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;
Вот пример:
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;
Похожие вопросы
Новые вопросы
c#
C# (произносится как «see Sharp») — это высокоуровневый мультипарадигменный язык программирования со статической типизацией, разработанный Microsoft. Код C# обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, которое включает в себя .NET, .NET Framework, .NET MAUI и Xamarin среди прочих. Используйте этот тег для ответов на вопросы о коде, написанном на C#, или о формальной спецификации C#.