Получите доступ к модификаторам методов, использующих Tuple в C # - PullRequest
1 голос
/ 03 октября 2009

С одной стороны, кортеж универсален, но с другой, может быть менее четким.

Не рекомендуется ли использовать кортеж для возвращаемого типа открытого метода? Точно так же, не следует ли использовать его для типа какого-либо параметра открытого метода?

Другими словами, должен ли он использоваться только в объявлениях защищенных, внутренних и закрытых методов?

Ответы [ 2 ]

1 голос
/ 03 октября 2009

Я бы использовал то же руководство, что и для «сырых» типов коллекций, таких как Dictionary<TKey, TValue> - используйте что-то более строго типизированное. Внутри ваших внутренних методов это нормально, но используйте более специфичный для домена тип в качестве общедоступного значения ввода или вывода.

1 голос
/ 03 октября 2009

Эта проблема не является общедоступной и частной, просто «что такое хороший дизайн API». Я думаю, что вы редко использовали бы Tuple в C # API, и в редких случаях вы его используете, чаще всего это будет тип возврата (когда вы хотите вернуть несколько вещей). Но не следует слишком предписывать слишком общие правила («Глупая последовательность ...»); делать правильные вещи для каждой отдельной ситуации. Могут быть случаи использования его в параметрах (особенно, например, при некотором взаимодействии с другими языками).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...