内部和私人有啥区别
Posted
技术标签:
【中文标题】内部和私人有啥区别【英文标题】:what is the difference between internal and private内部和私人有什么区别 【发布时间】:2011-08-27 17:10:21 【问题描述】:在 F# 中,内部方法和私有方法有什么区别。
我感觉它们的实现方式相同,但含义不同。
【问题讨论】:
我觉得应该和C#没有区别***.com/questions/3813485/… 【参考方案1】:可以从同一 .NET 程序集中的任何类型(或函数)访问 internal
方法。private
方法只能从它被声明的类型访问。
这里有一个简单的 sn-p 显示区别:
type A() =
member internal x.Foo = 1
type B() =
member private x.Foo = 1
let a = A()
let b = B()
a.Foo // Works fine (we're in the same project)
b.Foo // Error FS0491: 'Foo' is not defined
【讨论】:
【参考方案2】:internal 与 public 相同,不同之处在于它只在它被声明的程序集内可见。private 只在声明类型内可见。
【讨论】:
【参考方案3】:内部 实例可以在同一个程序集中访问,而 私有 实例可以“仅”访问在定义类中。
【讨论】:
以上是关于内部和私人有啥区别的主要内容,如果未能解决你的问题,请参考以下文章