Type.IsNestedFamily プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Type が入れ子になっていて、それ自体が属するファミリ内でだけ参照可能かどうかを示す値を取得します。
public:
property bool IsNestedFamily { bool get(); };
public bool IsNestedFamily { get; }
member this.IsNestedFamily : bool
Public ReadOnly Property IsNestedFamily As Boolean
プロパティ値
true
が入れ子になっていて、それ自体が属するファミリ内でだけ参照可能な場合は Type。それ以外の場合は false
。
実装
例
次の例では、さまざまな種類の可視性を持つ入れ子になったクラスを多数持つ外部クラスを作成します。 次 Type に、親の型と入れ子になった各型について、いくつかの可視性に関連するプロパティの値を取得します。
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
注釈
現在のが Type ジェネリック型の型パラメーターを表している場合、このプロパティは常にを返し false
ます。
TypeAttributes.VisibilityMask 可視性属性を選択します。
Typeオブジェクトのファミリは、完全に同じでサブタイプのすべてのオブジェクトとして定義され Type ます。