我目前正在尝试在我的类定义中实现“索引”属性。
例如,我有以下课程:
public class TestClass
{
private int[] ids = null;
public string Name { get; set; }
public string Description { get; set; }
public int[] Ids {
get
{
//Do some magic and return an array of ints
//(count = 5 - in this example in real its not fixed)
return _ids;
}
}
}
现在我喜欢这样使用这个类:
private void DoSomething()
{
var testClass = GetSomeTestClass();
//work with the ids
for (int i = 0; i < 10; i++) //I know I could say i < Ids.Length, its just an example
{
int? id = testClass.Ids[i];
//this will result, in a out of bound exception when i reaches 5 but I wish for it to return a null like a "safe" index call ?!?
}
}
那么是否有一个安全的索引调用会导致一个空值,而不需要我一次又一次地在 try catch 中包装它。
另一件事我不希望使用类索引,因为我需要几个像这样工作的属性,具有不同的类型(int、string、bool、自定义类等)。
(同样,for 只是一个简单的例子,我知道在这种情况下我可以说“i < Ids.Length”)