Ho sempre implementato l'interfaccia IDataErrorInfo senza realmente chiedermi cosa significa questa linea e come funziona.In che modo IDataErrorInfo.this [string propertyName] funziona in C#?
string IDataErrorInfo.this[string propertyName]
{
get { return this.GetValidationError(propertyName); }
}
Come .this[string propertyName]
lavoro, e quando/come fa questa proprietà ottiene chiamato?
I _think_ this is [implementazione dell'interfaccia esplicita] (http://msdn.microsoft.com/en-us/library/vstudio/ms173157.aspx) di un [indicizzatore] (http://msdn.microsoft.com /en-us/library/vstudio/6x16t2tx.aspx) e verrebbe chiamato ogni volta che si ha un oggetto 'IDataErrorInfo' esplicitamente digitato dove si scrive:' string myPropertyError = myDataErrorInfo ["SomePropertyName"]; ' –
Sì, è solo esplicito implementazione dell'interfaccia. Ne sei consapevole in generale? (In caso contrario, basta cercare.) –
@JonSkeet Ho una vaga idea di cosa significhi implementare un'interfaccia esplicitamente (ho [chiesto] (http://programmers.stackexchange.com/q/136319/1130) su Programmers.SE circa un po 'di tempo fa), ma il '.questo [string propertyName]' era la parte principale che non capivo bene. – Rachel