Объем функций на уровне файлов в C # /. NET? - PullRequest
1 голос
/ 25 февраля 2010

У меня много функций (по оценкам, более 100), и более половины требуется только в указанном файле. Есть ли способ определить функции так, чтобы область действия находилась на уровне файла?

Ответы [ 3 ]

3 голосов
/ 25 февраля 2010

Во-первых; C # имеет методы, а не функции; -p

Методы относятся к типу; если вы пытаетесь ограничиться файлом , могу ли я поэтому предположить, что это частичный класс (или, возможно, набор вложенных типов), который (/ или) разделен на несколько файлов? Если нет (и это один файл), просто сделайте методы закрытыми. Если он в настоящий момент является частичным, то нет: нет способа избежать перекрестных вызовов между различными файлами одного типа. Вы можете создать несколько вложенных статических типов для каждой части, но это кажется уродливым, хакерским и просто неправильным.

Если это не причиняет тебе вреда - может, не изменишь его?

2 голосов
/ 25 февраля 2010

Нет. Нет возможности ограничить доступ к одному «файлу». Вы можете поместить все функции в один класс и создать те, которые вы хотите защитить private. В качестве альтернативы вы можете поместить все функции в другую сборку и создать защищенные internal.

0 голосов
/ 25 февраля 2010

Вы можете ограничить область действия сборкой, используя internal, но не уровнем файла.

...