Xamarin.Android の AsyncTask クラスには、Android API にはない abstract メソッドがあります。
protected abstract TResult RunInBackground (params TParams[] params)
似たメソッドに、Android API にもある
protected override Object DoInBackground (params Object[] native_parms)
があります。
違いは、ジェネリックかどうかで、前者はクラスのジェネリックパラメータに合わせた型で実装できます。
基本前者を使って実装すればよさそうです。abstract なので必ず実装しなければなりませんし。
両方を実装した場合
上記の二つのメソッド、両方を実装することができます。
もし両方を実装していた場合、DoInBackground
だけが動作します。
既存の Android アプリのソースコードを Xamarin.Android に移植する場合など、既存コードのまま DoInBackground で実装してもとりあえず大丈夫そうです。
その場合、RunInBackground も実装する必要がありますが、Visual Studio に任せて生成した次のような実装のままで平気です。呼ばれないので。
protected override bool RunInBackground(params Void[] @params) { throw new NotImplementedException(); }