Filtro lectura datos numéricos desde el teclado

El objetivo es escribir en C# una clase que proporcione una interfaz para obtener del teclado datos de cualquier tipo primitivo.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MisClases.ES
{
    public class Leer
    {
        public static short datoShort()
        {
            try
            {
                return Int16.Parse(Console.ReadLine());
            }
            catch (FormatException)
            {
                return Int16.MinValue;
            }
        }

        public static int datoInt()
        {
            try
            {
                return Int32.Parse(Console.ReadLine());
            }
            catch (FormatException)
            {
                return Int32.MinValue;
            }
        }

        public static long datoLong()
        {
            try
            {
                return Int64.Parse(Console.ReadLine());
            }
            catch (FormatException)
            {
                return Int64.MinValue;
            }
        }

        public static float datoFloat()
        {
            try
            {
                return Single.Parse(Console.ReadLine());
            }
            catch (FormatException)
            {
                return Single.NaN;
            }
        }

        public static double datoDouble()
        {
            try
            {
                return Double.Parse(Console.ReadLine());
            }
            catch (FormatException)
            {
                return Double.NaN;
            }
        }
    }
}