Если у вас есть строки, которые нужно преобразовать в double, вы также можете получить перегрузку при выполнении тестов и преобразований:
public Triangle(double a, double b, double c) {
sides = new double[] { a, b, c };
}
public Triangle(string a, string b, string c) {
double aa, bb, cc;
if (double.TryParse(a, out aa) && double.TryParse(b, out bb) && double.TryParse(c, out cc)) {
sides = new double[] { aa, bb, cc };
} else {
throw new ArgumentException("Not a number");
}
}
Однако компилятор никогда не позволит вам присвоить строку двойной переменной или параметру метода.