정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Type.IsNotPublic 속성

2013-12-13

Type이 public으로 선언되어 있지 않은지 여부를 나타내는 값을 가져옵니다.

Namespace:  System
어셈블리:  mscorlib(mscorlib.dll)

public bool IsNotPublic { get; }

속성 값

형식: System.Boolean
Type이 public 형식으로 선언되어 있지 않고 중첩 형식이 아니면 true고, 그렇지 않으면 false입니다.

중첩 형식에는 이 속성 대신 IsNestedPublic을 사용합니다.

현재 Type이 제네릭 형식의 형식 매개 변수를 나타내는 경우 이 속성은 false를 반환합니다.

TypeAttributes.VisibilityMask에서는 표시 특성을 선택합니다.

다음 예제에서는 IsNotPublic을 사용하여 형식의 표시 여부를 가져오는 방법을 보여 줍니다.

참고참고:

이 예제를 실행하려면 Windows Phone용 정적 TextBlock 컨트롤이 있는 예제 빌드를 참조하세요.


using System;
using System.IO;
using System.Reflection;
class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      outputBlock.Text += "\nReflection.MemberInfo" + "\n";
      //Get the Type and MemberInfo.
      Type MyType = Type.GetType("System.IO.File");
      MemberInfo[] Mymemberinfoarray = MyType.GetMembers();
      //Get and display the DeclaringType method.
      outputBlock.Text += String.Format("\nThere are {0} members in {1}.", Mymemberinfoarray.Length, MyType.FullName) + "\n";
      outputBlock.Text += String.Format("Is {0} nonpublic? {1}", MyType.FullName, MyType.IsNotPublic.ToString()) + "\n";
   }
}


이 코드는 다음과 같이 출력됩니다.

There are 27 members in System.IO.File.
Is System.IO.File public? False 

다음 코드 예제에서는 중첩된 클래스에 IsPublicIsNotPublic을 사용할 수 없는 이유를 보여 줍니다.


public class A
{
   public class B { }
   private class C { }
}


중첩된 클래스의 경우 IsPublicIsNotPublic의 결과는 무시하고 IsNestedPublicIsNestedPrivate의 결과에만 유의하세요. 이 코드 부분에 대한 리플렉션은 다음과 같이 출력됩니다.

클래스

IsNotPublic

IsPublic

IsNestedPublic

IsNestedPrivate

A

FALSE

TRUE

FALSE

FALSE

B

FALSE

FALSE

TRUE

FALSE

C

FALSE

FALSE

FALSE

TRUE

Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

표시: