当实现IDataErrorInfo接口时,`public string this[string columnName]`的意思是什么?

9
当实现IDataErrorInfo接口时,public string this[string columnName]的含义是什么?
    public string this[string columnName]
    {
        get
        {
            switch (columnName)
            {
                case "Name":
                    return ValidateName();
                case "PhoneNumber":
                    return ValidatePhoneNumber();
                default:
                    return string.Empty;
            }
        }
    }

我不明白为什么要使用方括号以及它的作用。

答案: 感谢Hans和Scott,现在我知道这只是索引器语法。更多信息请参见此处


你对this[string columnName]的语法具体是哪一部分不明白?还是想知道为什么要使用这种写法? - Scott Chamberlain
3
请在你喜欢的 C# 语言书中查找 "索引器"。 - Hans Passant
你必须理解IDataErrorInfo,然后你才能理解This[columnName]的含义,我认为这就是你被踩的原因。 - Hamza_L
1
@ScottChamberlain:语法。我不明白为什么要用方括号以及它的作用。 - Saeid
1
@HansPassant:谢谢,我会去看看。 - Saeid
这个被关闭了吗? - DaveG
1个回答

22

那是一个C#索引器,它让你可以像这样使用你的类:

IDataErrorInfo myClass = new MyClass();
string phoneNumberErrorInfo = myClass["PhoneNumber"];`

7
给给踩我的人,我的回答哪里有错误或者不实用?如果你不告诉我我做错了什么,那我就没办法纠正我的问题。请指出我的错误。 - Scott Chamberlain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接