2013-12-09 86 views
1

我遇到了這個C#代碼,它顯然允許我通過它們在輸入字符串中的名稱訪問單個方法中的對象屬性。我認爲它是一個相對較新的C#特性。有人能告訴我它叫什麼和參考文檔嗎?通過名稱在字符串中獲取屬性的C#語法

public class ExamValidation : Exam, IDataErrorInfo 
    { 

//... 
     public string this[string columnName] 
     { 
//--- 
     } 
    } 
+0

http://msdn.microsoft.com/en-us/library/6x16t2tx.aspx –

回答

4

它被稱爲indexer它不是新的 - 它從一開始就一直在C#中。這只是查找集合中數據的另一種方式(通過字符串而不是整數索引)。

在數據結構中發現數據結構,其中的順序是的元素與通過字符串鍵(如字典或數據表(按列名稱而不是按順序查找行數據)來查找數據一樣重要)。

+0

請參閱http://msdn.microsoft.com/en-us/library/aa288464(v=vs.71).aspx爲更多。 –

2

這就是所謂的indexer它並不是新的。自從該框架的第一次迭代以來,這些就已經存在了。索引器是通常看到與int值,像一個數組,例如,但他們可以接收任何類型。請注意以下文檔:

索引器不必通過整數值進行索引;這取決於您如何定義特定的查找機制。

因此,在這種情況下,它正在查找數據與string

1

這是告訴我,該類有一個索引器,所以你可以保存一個數組/值的列表。

相關問題