Type.IsNestedAssembly Свойство
Определение
public:
property bool IsNestedAssembly { bool get(); };
public bool IsNestedAssembly { get; }
member this.IsNestedAssembly : bool
Public ReadOnly Property IsNestedAssembly As Boolean
Значение свойства
Значение true
, если объект Type является вложенным и видимым только в своей сборке; в противном случае — значение false
.true
if the Type is nested and visible only within its own assembly; otherwise, false
.
Реализации
Примеры
В следующем примере создается внешний класс с несколькими вложенными классами, которые имеют различные типы видимости.The following example creates an outer class with a number of nested classes that have various types of visibility. Затем он получает значение ряда свойств, связанных с Type видимостью, для родительского типа и всех его вложенных типов.It then retrieves the value of a number of visibility-related Type properties for the parent type and each of its nested types.
using System;
// Create a class with a number of nested classes.
public class OuterClass
{
private class PrivateClass
{}
protected class ProtectedClass
{}
internal class InternalClass
{}
protected internal class ProtectedInternalClass
{}
public class PublicClass
{}
public static void Main()
{
// Create an array of Type objects for all the classes.
Type[] types = { typeof(OuterClass),
typeof(OuterClass.PublicClass),
typeof(OuterClass.PrivateClass),
typeof(OuterClass.ProtectedClass),
typeof(OuterClass.InternalClass),
typeof(OuterClass.ProtectedInternalClass) };
// Display the property values of each nested class.
foreach (var type in types) {
Console.WriteLine("\n{0} property values:", type.Name);
Console.WriteLine(" Public Class: {0}", type.IsPublic);
Console.WriteLine(" Not a Public Class: {0}", type.IsNotPublic);
Console.WriteLine(" Nested Class: {0}", type.IsNested);
Console.WriteLine(" Nested Private Class: {0}", type.IsNestedPrivate);
Console.WriteLine(" Nested Internal Class: {0}", type.IsNestedAssembly);
Console.WriteLine(" Nested Protected Class: {0}", type.IsNestedFamily);
Console.WriteLine(" Nested Family Or Assembly Class: {0}", type.IsNestedFamORAssem);
Console.WriteLine(" Nested Family And Assembly Class: {0}", type.IsNestedFamANDAssem);
Console.WriteLine(" Nested Public Class: {0}", type.IsNestedPublic);
}
}
}
// The example displays the following output:
// OuterClass property values:
// Public Class: True
// Not a Public Class: False
// Nested Class: False
// Nested Private Class: False
// Nested Internal Class: False
// Nested Protected Class: False
// Nested Family Or Assembly Class: False
// Nested Family And Assembly Class: False
// Nested Public Class: False
//
// PublicClass property values:
// Public Class: False
// Not a Public Class: False
// Nested Class: True
// Nested Private Class: False
// Nested Internal Class: False
// Nested Protected Class: False
// Nested Family Or Assembly Class: False
// Nested Family And Assembly Class: False
// Nested Public Class: True
//
// PrivateClass property values:
// Public Class: False
// Not a Public Class: False
// Nested Class: True
// Nested Private Class: True
// Nested Internal Class: False
// Nested Protected Class: False
// Nested Family Or Assembly Class: False
// Nested Family And Assembly Class: False
// Nested Public Class: False
//
// ProtectedClass property values:
// Public Class: False
// Not a Public Class: False
// Nested Class: True
// Nested Private Class: False
// Nested Internal Class: False
// Nested Protected Class: True
// Nested Family Or Assembly Class: False
// Nested Family And Assembly Class: False
// Nested Public Class: False
//
// InternalClass property values:
// Public Class: False
// Not a Public Class: False
// Nested Class: True
// Nested Private Class: False
// Nested Internal Class: True
// Nested Protected Class: False
// Nested Family Or Assembly Class: False
// Nested Family And Assembly Class: False
// Nested Public Class: False
//
// ProtectedInternalClass property values:
// Public Class: False
// Not a Public Class: False
// Nested Class: True
// Nested Private Class: False
// Nested Internal Class: False
// Nested Protected Class: False
// Nested Family Or Assembly Class: True
// Nested Family And Assembly Class: False
// Nested Public Class: False
' Create a Class with a number of nested Classes.
Public Class OuterClass
Private Class PrivateClass
End Class
Protected Class ProtectedClass
End Class
Friend Class InternalClass
End Class
Protected Friend Class ProtectedInternalClass
End Class
Public Class PublicClass
End Class
Public Shared Sub Main()
' Create an array of Type objects for all the Classes.
Dim types() As Type = { GetType(OuterClass),
GetType(OuterClass.PublicClass),
GetType(OuterClass.PrivateClass),
GetType(OuterClass.ProtectedClass),
GetType(OuterClass.InternalClass),
GetType(OuterClass.ProtectedInternalClass) }
' Display the property values of each nested Class.
For Each type In types
Console.WriteLine("{0} property values:", type.Name)
Console.WriteLine(" Public Class: {0}", type.IsPublic)
Console.WriteLine(" Not a Public Class: {0}", type.IsNotPublic)
Console.WriteLine(" Nested Class: {0}", type.IsNested)
Console.WriteLine(" Nested Private Class: {0}", type.IsNestedPrivate)
Console.WriteLine(" Nested Internal Class: {0}", type.IsNestedAssembly)
Console.WriteLine(" Nested Protected Class: {0}", type.IsNestedFamily)
Console.WriteLine(" Nested Family Or Assembly Class: {0}", type.IsNestedFamORAssem)
Console.WriteLine(" Nested Family And Assembly Class: {0}", type.IsNestedFamANDAssem)
Console.WriteLine(" Nested Public Class: {0}", type.IsNestedPublic)
Console.WriteLine()
Next
End Sub
End Class
' The example displays the following output:
' OuterClass property values:
' Public Class: True
' Not a Public Class: False
' Nested Class: False
' Nested Private Class: False
' Nested Internal Class: False
' Nested Protected Class: False
' Nested Family Or Assembly Class: False
' Nested Family And Assembly Class: False
' Nested Public Class: False
'
' PublicClass property values:
' Public Class: False
' Not a Public Class: False
' Nested Class: True
' Nested Private Class: False
' Nested Internal Class: False
' Nested Protected Class: False
' Nested Family Or Assembly Class: False
' Nested Family And Assembly Class: False
' Nested Public Class: True
'
' PrivateClass property values:
' Public Class: False
' Not a Public Class: False
' Nested Class: True
' Nested Private Class: True
' Nested Internal Class: False
' Nested Protected Class: False
' Nested Family Or Assembly Class: False
' Nested Family And Assembly Class: False
' Nested Public Class: False
'
' ProtectedClass property values:
' Public Class: False
' Not a Public Class: False
' Nested Class: True
' Nested Private Class: False
' Nested Internal Class: False
' Nested Protected Class: True
' Nested Family Or Assembly Class: False
' Nested Family And Assembly Class: False
' Nested Public Class: False
'
' InternalClass property values:
' Public Class: False
' Not a Public Class: False
' Nested Class: True
' Nested Private Class: False
' Nested Internal Class: True
' Nested Protected Class: False
' Nested Family Or Assembly Class: False
' Nested Family And Assembly Class: False
' Nested Public Class: False
'
' ProtectedInternalClass property values:
' Public Class: False
' Not a Public Class: False
' Nested Class: True
' Nested Private Class: False
' Nested Internal Class: False
' Nested Protected Class: False
' Nested Family Or Assembly Class: True
' Nested Family And Assembly Class: False
' Nested Public Class: False
Комментарии
Если Current Type представляет параметр типа универсального типа, это свойство всегда возвращает false
значение.If the current Type represents a type parameter of a generic type, this property always returns false
.
TypeAttributes.VisibilityMaskвыбирает атрибуты видимости.TypeAttributes.VisibilityMask selects the visibility attributes.