В каком примере правильно объявлен расширяющий метод?

using System; public static class stringExtension { public static string Reverse(base string s) { char[] msv = s.ToCharArray(); Array.Reverse(msv); return new string(msv); } }
using System; public static class stringExtension { public static string Reverse(this string s) { char[] msv = s.ToCharArray(); Array.Reverse(msv); return new string(msv); } }
using System; public static class stringExtension { public static string Reverse(super string s) { char[] msv = s.ToCharArray(); Array.Reverse(msv); return new string(msv); } }