Как определить расширение типа для T [] в F #?

В C #я могу определить метод расширения для универсального массива типа T следующим образом:

public static T GetOrDefault<T>(this T[] arr, int n)
{
    if (arr.Length > n)
    {
        return arr[n];
    }

    return default(T);
}

но убей меня, я не могу понять, как сделать то же самое в F #! Я пробовал type 'a array with, type array<'a> withи type 'a[] with, и компилятор не был доволен ни одним из них.

Может ли кто-нибудь сказать мне, какое право делать это в F #?

Конечно, я могу сделать это, перекрыв модуль Array и достаточно легко добавив для этого функцию, но я действительно хочу знать, как это сделать в качестве метода расширения!

15
задан Guy Coder 10 May 2016 в 11:01
поделиться