public abstract class InstallationStepLibrary
{
private Dictionary<string, InstallationStep> DictSteps;
protected InstallationStepLibrary()
{
DictSteps = new Dictionary<string, InstallationStep>();
}
public InstallationStep this[string s]
{
get
{
return DictSteps[s];
}
set
{
DictSteps[s] = value;
}
}
protected void NewStep(string name, InstallationStep step)
{
this[name] = step;
}
}
Je soupçonne que la première utilisation de « ce » est chaînage des constructeurs de la définition de InstallationStep
, mais je ne peux pas comprendre comment le second « ce [nom] » (qui IntelliSense me dit Scopes à la classe InstallationStepLibrary
, qui a du sens ...) peut être une syntaxe valide mais elle l'est.Quel est le but de la seconde [] dans cet exemple?
Il serait logique si elle scope au dictionnaire ...
Ceci est un indexeur: 'InstallationStep publique cette [chaîne s]' et 'ce [nom] = étape; 'utilise l'indexeur. –
Le dictionnaire a un modificateur privé, l'indexeur 'this [string s]' lui donne accès. – Ryan