Est-il possible d'avoir deux ou plusieurs indexeurs (ou quelque chose de simillar) avec la même signature?Avoir plusieurs indexeurs avec la même signature
Il ressemblerait à quelque chose comme ça
private int[,] X;
public int this[int a]
{
set
{
X[a, 0] = value;
}
}
public int this[int a]
{
set
{
X[a, 1] = value;
}
}
Cela donne une erreur parce que les deux méthodes sont sans nom et avec la même signature. Donc, est-il possible de nommer ces méthodes, mais gardez l'abilité de définir une valeur. à savoir
C.FirstCol(2) = 3; //Same as C.X[2,0] = 3
C.SecondCol(5) = 4; //Same as C.X[5,1] = 4
EDIT: Je vais essayer de l'expliquer mieux:
La ligne C.SetX(value)
peut être modifiée à l'aide des propriétés C.X = value
.
La ligne C.Set(num, value)
peut être changé pour C[num] = value
en utilisant indexeur
Ce que je vous demande comment puis-je changer ces lignes
C.SetA(num, value)
C.SetB(num, value)
À
C.A[num] = value
C.B[num] = value
Ou
C.A(num) = value
C.B(num) = value
Sans avoir A ou B comme tableaux
S'ils ont la même signature comment le compilateur savoir lequel vous voulez appeler? – Sean
Non, je ne pense pas que vous pouvez même avoir byte et int car il y a implicitement cast – Paparazzi