5

それを使用するクラスがいくつかあるため、別のクラスでプライベートとして宣言することはできません。また、内部に配置したくありません。そうしないと、同じアセンブリ内の他のクラスに公開されます。同じファイル内のクラスだけがアクセスできるようにしたい。C#で可能ですか?

4

1 に答える 1

13

C# 言語では、「ソース ファイル」のレベルで行われることはほとんどありません。

最も近いのは、最上位クラスを作成し、いくつかのネストされたクラスを持つことです。

class Foo
{
    internal class A
    {
        private Shared shared = new Shared();
    }

    internal class B
    {
        private Shared shared = new Shared();
    }

    private class Shared
    {
    }
}

正直なところ、これはあまり楽しい解決策ではありません。クラスを他の多くのクラスから見えるようにする必要がある場合、私は通常、それを内部にして、それらのクラスを別のアセンブリに抽出する共有クラスを同じアセンブリ内の他のクラスから見えるようにすることを好みます。本当にそれについて知る必要はありません。

于 2013-02-18T06:43:33.407 に答える