我有许多功能(估计100多个),只有一半只需要在其定义的文件中。有没有办法定义函数,因此它的范围是文件级别?
答案 0 :(得分:3)
首先; C#有方法,而不是函数;-p
方法的范围是该类型;如果您尝试限制为文件,我是否可以假设这是一个(/或是)多个文件分割的部分类(或者可能是一组嵌套类型)?如果不是(并且它是单个文件),只需将方法设为私有。如果它当前是部分的,那么否:没有办法避免相同类型的不同文件之间的交叉调用。你可以为每个部分部分创建一些嵌套的静态类型,但这看起来很丑陋,hacky,而且只是错误。
如果不是在积极地伤害你 - 也许不要改变它?
答案 1 :(得分:2)
没有。没有办法限制对单个“文件”的访问。您可以将所有函数放在一个类中,并创建要保护的函数private
。或者,您可以将所有函数放在另一个程序集中并创建受保护的函数internal
。
答案 2 :(得分:0)
您可以使用internal
将范围限制为装配,但不能限制为文件级别。