Cómo analizar una cadena en una int nullable


Quiero analizar una cadena en un int nullable en C#. IE. Quiero recuperar el valor int de la cadena o null si no se puede analizar.

Esperaba que esto funcionara

int? val = stringVal as int?;

Pero eso no funcionará, así que la forma en que lo estoy haciendo ahora es que he escrito este método de extensión

public static int? ParseNullableInt(this string value)
{
    if (value == null || value.Trim() == string.Empty)
    {
        return null;
    }
    else
    {
        try
        {
            return int.Parse(value);
        }
        catch
        {
            return null;
        }
    }
}   

¿Hay una mejor manera de hacer esto?

EDIT: Gracias por las sugerencias de TryParse, yo sabía sobre eso, pero funcionó sobre lo mismo. Soy más interesado en saber si hay un método de marco integrado que analizará directamente en un int nullable?


Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52