2

在以下示例中,this[] 在类中用于从类瞬间的某处获取值。这个值存储在哪里?是否可能是 [] 运算符被重载,或者这只是我不熟悉的 c# 语法?

public class MyUserSettings : ApplicationSettingsBase
{
    [UserScopedSetting()]
    [DefaultSettingValue("white")]
    public Color BackgroundColor
    {
        get
        {
            return ((Color)this["BackgroundColor"]);
        }
        set
        {
            this["BackgroundColor"] = (Color)value;
        }
    }
}
4

3 回答 3

5

这称为索引器。它与类的重载运算符非常相似。在该类的其他地方,或在该类的基类之一中,定义了索引器。

于 2012-11-09T14:40:27.770 回答
4

它是索引器语法。

索引器允许类或结构的实例像数组一样被索引。索引器类似于属性,只是它们的访问器带有参数。

继承自的类之一MyUserSettings已实现string索引器。

于 2012-11-09T14:40:28.023 回答
1

是的,它是一个重载的索引运算符

于 2012-11-09T14:41:51.060 回答