A method internalcan be accessed from any type (or function) in the same .NET assembly.
Access to a method privatecan only be obtained from the type where it was declared.
Here is a simple snippet that shows the difference:
type A() =
member internal x.Foo = 1
type B() =
member private x.Foo = 1
let a = A()
let b = B()
a.Foo
b.Foo
source
share