В C # 3.0 я бы, вероятно, сделал это методом расширения для класса string. Я бы сгруппировал все свои строковые расширения в один статический класс, чтобы улучшить читаемость.
public static class StringExtensions
{
public static bool IsNumeric( this string source )
{
if (string.IsNullOrEmpty( source ))
{
return false;
}
...
}
public static bool IsMoney( this string source )
{
...
}
...
}
Использование:
if (amountLabel.Text.IsNumeric())
{
...
}