Я только что прочитал «Прагматичный программист» и главу «Проектирование по контракту».Мне пришло в голову, что когда мы создаем функцию, возможно, в общей библиотеке, было бы полезно указать атрибуты параметров.
Мне интересно, сталкивался ли кто-нибудь с такой идеей, я не верюон существует в C #, как я думаю, что-то вроде этого;
public String SendEmail(String ToAddress [RegExMatch(@"\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b")], FromAddress, Body)
Для удобства чтения было бы более разумно поместить его выше объявления функции, я думаю.
Я могуне представляю, что это будет плохой идеей, поскольку функция может автоматически генерировать исключение для недопустимых параметров.Но это просто даст немного больше определения, чем String или Int32.
Больше обсуждения, чем поиск ответа.
Приветствия, Майк