Я пытаюсь написать метод, который проверяет, является ли заданная пара x/y допустимым индексом для второго массива (например, проверьте, является ли myArray[x,y]
безопасным).C#: Передача общих массивов
Я бы хотел, чтобы он работал с массивами любого типа, которые, как я считаю, должны быть возможны, потому что все они имеют один и тот же метод GetUpperBounds (int d), и мне не нужно касаться их содержимого. Я попытался
bool validate(<T>[,] array, int x, int y){ ... }
и
bool validate([,] array, int x, int y){ ... }
, но это не работает.
Должен ли я просто перегружать этот метод по мере необходимости, даже если тела метода будут идентичными символами?
Вот и все! Могли бы объяснить, как работает между именем метода и открытым паром, или термином, который я могу найти? –
Weavermount
@Weavermount Это синтаксис дженериков в C#: вы помещаете между именем метода и открытием '(' список общих терминов, которые вы будете использовать ('', '', '' и т. Д.). компилятор иногда может вывести их так, что вам не нужно явно писать их, когда вы ** вызываете ** метод (в этом случае вы можете «проверять (новый двойной [5,5], 4, 4)»). компилятор не может, поэтому вы должны вызвать метод с явными значениями: 'validate (новый double [5,5], 4, 4)' –
xanatos