Desempenho do Método de Extensão

<code>            /*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());
</code>

Não se deixe levar pelo TypeX dizendo que eu deveria definir esses métodos dentro do TypeX em vez da Extension) Eu não tenho controle sobre ele (a classe real que eu defini está em SPListItem.

Eu queria converter o TypeX para Int ou Boolean e esta operação é uma coisa comum que estou fazendo em muitos lugares no código. Eu queria saber se isso causaria degradação no desempenho. Eu tentei interpretar o código IL usando o Reflector, mas não sou bom nisso. Pode ser para o exemplo acima não haverá degradação de desempenho. Em geral, eu queria saber sobre as implicações em relação ao desempenho ao usar os métodos de extensão.

questionAnswers(4)

yourAnswerToTheQuestion