如何编写一个可以用’arr[key]`索引的类(如数组)?

就像我们做的Session.Add(“LoginUserId”,123)
然后我们可以访问会话[“LoginUserId”],就像一个数组,我们如何实现它

您需要一个索引器:

公共事物此[字符串索引]
{
收到
{
//获取该索引的项。
返回您的GetItemMethod(索引)
}
设置
{
//设置此索引的项。值的类型为Thing。
YourAddItemMethod(索引、值)
}
}

这将使您可以像使用数组一样使用类对象:

MyClass cl=new MyClass();
cl[“hello”]=另一个对象;
//等等。

如果您需要更多帮助,还可以使用教程

附录

您提到您希望它在静态类上可用。这有点复杂,因为你不能使用静态索引器。如果你想使用索引器,你需要从一个静态字段或一些类似于这个答案的魔法中访问它

发表评论