Type.IsNotPublic Type.IsNotPublic Type.IsNotPublic Type.IsNotPublic Property

Определение

Возвращает значение, позволяющее определить, не был ли объект Type объявлен как открытый.Gets a value indicating whether the Type is not declared public.

public:
 property bool IsNotPublic { bool get(); };
public bool IsNotPublic { get; }
member this.IsNotPublic : bool
Public ReadOnly Property IsNotPublic As Boolean

Значение свойства

Значение true, если объект Type не объявлен как открытый и не является вложенным типом; в противном случае — значение false.true if the Type is not declared public and is not a nested type; otherwise, false.

Реализации

Примеры

В этом примере используется IsNotPublic свойство видимости типа.This example uses the IsNotPublic property to get the visibility of the type.

using namespace System;
using namespace System::IO;
using namespace System::Reflection;

int main()
{
   //Get the Type and MemberInfo.
   Type^ t = Type::GetType("System.IO.File");
   array<MemberInfo^>^ members = t->GetMembers();
   
   //Get and display the DeclaringType method.
   Console::WriteLine("There are {0} members in {1}.",
                      members->Length, t->FullName );
   Console::WriteLine("Is {0} non-public? {1}",
                      t->FullName, t->IsNotPublic );
}
// The example displays the following output:
//       There are 60 members in System.IO.File.
//       Is System.IO.File non-public? False
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
Imports System.IO
Imports System.Reflection

Module Example
    Public Sub Main()
        'Get the Type and MemberInfo.
        Dim t As Type = Type.GetType("System.IO.File")
        Dim members As MemberInfo() = t.GetMembers()
        'Get and display the DeclaringType method.
        Console.WriteLine("There are {0} members in {1}.",
                          members.Length, t.FullName)
        Console.WriteLine("Is {0} non-public? {1}",
                          t.FullName, t.IsNotPublic)
    End Sub
End Module
' The example displays output like the following:
'       There are 60 members in System.IO.File.
'       Is System.IO.File non-public? False

В следующем примере кода показано, почему не удается использовать IsPublic и IsNotPublic для вложенных классов.The following code example demonstrates why you cannot use IsPublic and IsNotPublic for nested classes.

public ref class A
{
public:
   ref class B{};


private:
   ref class C{};


};

public class A 
{
    public class B { }
    private class C { }
}
Public Class A
    Public Class B
    End Class
    Private Class C
    End Class
End Class

Для вложенных классов игнорировать результаты IsPublic и IsNotPublic и обратите внимание только результаты IsNestedPublic и IsNestedPrivate.For nested classes, ignore the results of IsPublic and IsNotPublic and pay attention only to the results of IsNestedPublic and IsNestedPrivate. Выходные данные отражения для этого фрагмента кода будет выглядеть следующим образом:The reflection output for this code fragment would be as follows:

КлассClass IsNotPublicIsNotPublic IsPublicIsPublic IsNestedPublicIsNestedPublic IsNestedPrivateIsNestedPrivate
АA falseFALSE trueTRUE falseFALSE falseFALSE
СB falseFALSE falseFALSE trueTRUE falseFALSE
ВC falseFALSE falseFALSE falseFALSE trueTRUE

Комментарии

Не используйте это свойство для вложенных типов. Используйте IsNestedPublic свойство вместо этого.Do not use this property with nested types; use the IsNestedPublic property instead.

Если текущий Type представляет параметр типа универсального типа, это свойство возвращает false.If the current Type represents a type parameter of a generic type, this property returns false.

Применяется к

Дополнительно