Type.IsNotPublic Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar ett värde som anger om Type är inte deklarerat offentligt.
public:
property bool IsNotPublic { bool get(); };
public bool IsNotPublic { get; }
member this.IsNotPublic : bool
Public ReadOnly Property IsNotPublic As Boolean
Egenskapsvärde
true om inte Type har deklarerats som offentlig och inte är en kapslad typ, annars false.
Implementeringar
Exempel
I det IsNotPublic här exemplet används egenskapen för att få synlighet för typen.
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
Följande kodexempel visar varför du inte kan använda IsPublic och IsNotPublic för kapslade klasser.
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
För kapslade klasser ignorerar du resultatet av IsPublic och IsNotPublic och är bara uppmärksam på resultatet av IsNestedPublic och IsNestedPrivate. Reflektionsutdata för det här kodfragmentet skulle vara följande:
| Class | IsNotPublic | IsPublic | IsNestedPublic | IsNestedPrivate |
|---|---|---|---|---|
| A | FALSE | TRUE | FALSE | FALSE |
| B | FALSE | FALSE | TRUE | FALSE |
| C | FALSE | FALSE | FALSE | TRUE |
Kommentarer
Använd inte den här egenskapen med kapslade typer. använd egenskapen IsNestedPublic i stället.
Om den aktuella Type representerar en typparameter av en allmän typ returnerar falseden här egenskapen .