【发布时间】:2011-08-27 17:10:21
【问题描述】:
在 F# 中,内部方法和私有方法有什么区别。
我感觉它们的实现方式相同,但含义不同。
【问题讨论】:
-
我觉得应该和C#没有区别stackoverflow.com/questions/3813485/…
在 F# 中,内部方法和私有方法有什么区别。
我感觉它们的实现方式相同,但含义不同。
【问题讨论】:
可以从同一 .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
【讨论】:
internal 与 public 相同,不同之处在于它只在它被声明的程序集内可见。private 只在声明类型内可见。
【讨论】:
内部 实例可以在同一个程序集中访问,而 私有 实例可以“仅”访问在定义类中。
【讨论】: