String calculator in F#
Is there a specific reason you want to accept a string? You could pass a list and get by with one overload.

type Calculator() =
  member x.Add(nums: int list) = List.sum nums

let calc = Calculator()

calc.Add([0; 0])
calc.Add([1; 2; 3; 4])
calc.Add(List.init 10 id)


EDIT

I'm sorry, I misunderstood the point of the exercise. There are a few changes I would make. 


According to the kata, you only need one method taking a string and returning an int.
There's an overload of String.Split accepting a char array, so you can store your delimiters as such and avoid the call to ToCharArray.
You can use the built-in int function instead of Convert.ToInt32.
There's no need to roll your own "sum" function. It's already built into the various collection modules.


The following code satisfies steps 1-3.

type Calculator() =

  let delimiters = [|','; '\n'|]

  member x.Add(nums) = 
    match nums with
    | null -&gt; nullArg "nums"
    | "" -&gt; 0
    | _ -&gt; 
      nums.Split(delimiters) 
      |&gt; Array.map int 
      |&gt; Array.sum