Wydajność metody rozszerzenia

            /*I have defined Extension Methods for the TypeX like this*/ 
        public static Int32 GetValueAsInt(this TypeX oValue)
        {
            return Int32.Parse(oValue.ToString());
        }
        public static Boolean GetValueAsBoolean(this TypeX oValue)
        {
            return Boolean.Parse(oValue.ToString());
        }


         TypeX x = new TypeX("1");
         TypeX y = new TypeX("true");


         //Method #1
         Int32 iXValue = x.GetValueAsInt();
         Boolean iYValue = y.GetValueAsBoolean();

         //Method #2
         Int32 iXValueDirect = Int32.Parse(x.ToString());
         Boolean iYValueDirect = Boolean.Parse(y.ToString());

Nie daj się ponieść typie, mówiąc, że powinienem zdefiniować te metody w TypeX, a nie w Extension).

Chciałem przekonwertować TypeX na Int lub Boolean i ta operacja jest jedną wspólną rzeczą, którą robię w wielu miejscach w kodzie. Chciałem wiedzieć, czy to spowoduje pogorszenie wydajności. Próbowałem interpretować kod IL za pomocą reflektora, ale nie jestem w tym dobry. Może być tak, że powyższy przykład nie spowoduje pogorszenia wydajności. Ogólnie chciałem wiedzieć o implikacjach związanych z wydajnością podczas korzystania z metod rozszerzenia.