Napotkano tę regułę FxCop przedtem i nie byłem zadowolony z tego, jak rozwiązać problemy (thread1, thread2). Mam teraz inny przypadek, w którym muszę poprawić naruszenia rodzaju CA1819.CA1819: Właściwości nie powinny zwracać tablic - Jaka jest właściwa alternatywa?
szczególności mam algorytm-bibliotekę, wykonuje pewne analityczne obliczeń na krzywej (x, y), z publiczną „obiektu wejściowego” tak:
public class InputObject
{
public double[] X { get; set; }
public double[] Y { get; set; }
// + lots of other things well
}
X i Y właściwości tego obiektu są używane w setkach lokalizacji w bibliotece, zazwyczaj przy użyciu indeksów. Obiekt wejściowy nigdy nie jest modyfikowany przez algorytmy, ale w rzeczywistości nie powinno to mieć znaczenia. Również, .Length
jest dość często nazywane. Jest to biblioteka matematyczna, a double[]
jest rodzajem standardowego typu danych. W każdym razie naprawa CA1819 będzie wymagała sporo pracy.
Pomyślałem o użyciu List<double>
, ponieważ listy obsługują indeksowanie i są dość podobne do tablic, ale nie jestem pewien, czy może to spowolnić algorytmy, czy też FxCop będzie zadowolony z tych list.
Jaki jest najlepszy sposób na zastąpienie tych właściwości w postaci double[]
?
@skk że to „thread1” linki pytanie ... – AakashM
(należy pamiętać, że trzeba kodować formacie kątowniki, aby mogły się pojawić) – AakashM