Type.IsNotPublic Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение, указывающее, не объявлена ли Type общедоступная.
public:
property bool IsNotPublic { bool get(); };
public bool IsNotPublic { get; }
member this.IsNotPublic : bool
Public ReadOnly Property IsNotPublic As Boolean
Значение свойства
true Значение , Type если не объявлен общедоступный и не является вложенным типом; в противном случае false.
Реализации
Примеры
В этом примере свойство используется IsNotPublic для получения видимости типа.
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
open System
// Get the Type and MemberInfo.
let t = Type.GetType "System.IO.File"
let members = t.GetMembers()
// Get and display the DeclaringType method.
printfn $"\nThere are {members.Length} members in {t.FullName}."
printfn $"Is {t.FullName} non-public? {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 для вложенных классов.
public class A
{
public class B { }
private class C { }
}
module A =
type B() = class end
type C() = class end
Public Class A
Public Class B
End Class
Private Class C
End Class
End Class
Для вложенных классов игнорируйте результаты и обратите внимание только на результаты IsPublicIsNestedPublic иIsNestedPrivate.IsNotPublic Выходные данные отражения для этого фрагмента кода будут следующим образом:
| Класс | IsNotPublic | IsPublic | IsNestedPublic | IsNestedPrivate |
|---|---|---|---|---|
| A | ЛОЖЬ | TRUE | ЛОЖЬ | ЛОЖЬ |
| Б | ЛОЖЬ | ЛОЖЬ | TRUE | ЛОЖЬ |
| C | ЛОЖЬ | ЛОЖЬ | ЛОЖЬ | TRUE |
Комментарии
Не используйте это свойство с вложенными типами; IsNestedPublic вместо этого используйте свойство.
Если текущий Type представляет параметр типа универсального типа, это свойство возвращается false.