29 lines
871 B
Forth
29 lines
871 B
Forth
module Accessibility
|
|
|
|
// This type is not usable outside of this file
|
|
type private MyPrivateType() =
|
|
// x is private since this is an internal let binding
|
|
let x = 5
|
|
// X is private and does not appear in the QuickInfo window
|
|
// when viewing this type in the Visual Studio editor
|
|
member private this.X() = 10
|
|
member this.Z() = x * 100
|
|
|
|
type internal MyInternalType() =
|
|
let x = 5
|
|
member private this.X() = 10
|
|
member this.Z() = x * 100
|
|
|
|
// Top-level let bindings are public by default,
|
|
// so "private" and "internal" are needed here since a
|
|
// value cannot be more accessible than its type.
|
|
let private myPrivateObj = new MyPrivateType()
|
|
let internal myInternalObj = new MyInternalType()
|
|
|
|
// let bindings at the top level are public by default,
|
|
// so result1 and result2 are public.
|
|
let result1 = myPrivateObj.Z
|
|
let result2 = myInternalObj.Z
|
|
|
|
|