英語で読む

次の方法で共有


Type.IsNotPublic プロパティ

定義

Type がパブリックとして宣言されていないかどうかを示す値を取得します。

C#
public bool IsNotPublic { get; }

プロパティ値

true がパブリックとして宣言されていなくて、入れ子にされた型でない場合は Type。それ以外の場合は false

実装

この例では、 プロパティを IsNotPublic 使用して、型の可視性を取得します。

C#
using System;
using System.IO;
using System.Reflection;

class Example
{
    public static void Main()
    {
        // Get the Type and MemberInfo.
        Type t = Type.GetType("System.IO.File");
        MemberInfo[] members = t.GetMembers();
        // Get and display the DeclaringType method.
        Console.WriteLine("\nThere are {0} members in {1}.",
                          members.Length, t.FullName);
        Console.WriteLine("Is {0} non-public? {1}",
                          t.FullName, t.IsNotPublic);
    }
}
// The example displays output like the following:
//       There are 60 members in System.IO.File.
//       Is System.IO.File non-public? False

次のコード例は、入れ子になったクラスに と IsNotPublic を使用IsPublicできない理由を示しています。

C#
public class A
{
    public class B { }
    private class C { }
}

入れ子になったクラスの場合は、 と IsNotPublicIsPublic結果を無視し、 と IsNestedPrivateIsNestedPublic結果にのみ注意してください。 このコード フラグメントのリフレクション出力は次のようになります。

クラス IsNotPublic IsPublic IsNestedPublic IsNestedPrivate
A FALSE TRUE FALSE FALSE
B FALSE FALSE TRUE false
C FALSE FALSE FALSE TRUE

注釈

入れ子になった型では、このプロパティを使用しないでください。代わりに プロパティを IsNestedPublic 使用してください。

現在 Type の がジェネリック型の型パラメーターを表す場合、このプロパティは を返します false

適用対象

製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

こちらもご覧ください