1

これが私のコードの抽象化です:

module RootModule

module private SubModule = // I want everything in this module to be inaccessible from outside the file
    let getLength s = String.Length s
    type MyType (s: string) =
        let _str = s
        member this.GetStringLength = getLength _str // for sake of simplicity, a bogus method

let myExternalValue = new SubModule.MyType("Hello")

エラーが発生しますType 'MyType' is less accessible than the value, member, or type: 'val myExternalValue: SubModule.MyType' it is used in

このようなプライベート クラス インスタンスへのパブリック アクセサーを使用できないのはなぜですか? 私はRootModule別のファイルで一緒に使用していmyExternalValueて、他のファイルでのみ表示したいことに注意してください

4

2 に答える 2