다음을 통해 공유


MethodBase.IsAssembly 속성

정의

이 메서드 또는 생성자의 Assembly잠재적 표시 여부를 나타내는 값을 가져옵니다. 즉, 메서드 또는 생성자가 동일한 어셈블리의 다른 형식에 가장 많이 표시되며 어셈블리 외부의 파생 형식에는 표시되지 않습니다.

public:
 property bool IsAssembly { bool get(); };
public bool IsAssembly { get; }
member this.IsAssembly : bool
Public ReadOnly Property IsAssembly As Boolean

속성 값

true 이 메서드 또는 생성자의 표시 유형이 정확히 설명 Assembly되면 이고, false그렇지 않으면 .

구현

예제

다음 코드 예제에서는 다양한 수준의 표시 유형을 사용하여 메서드를 정의하고 해당 , IsFamilyIsFamilyOrAssemblyIsFamilyAndAssembly 속성의 IsAssembly값을 표시합니다.

using System;
using System.Reflection;

public class Example
{
    public void m_public() {}
    internal void m_internal() {}
    protected void m_protected() {}
    protected internal void m_protected_public() {}
    private protected void m_private_protected() {}

    public static void Main()
    {
        Console.WriteLine("\n{0,-30}{1,-18}{2}", "", "IsAssembly", "IsFamilyOrAssembly");
        Console.WriteLine("{0,-21}{1,-18}{2,-18}{3}\n",
            "", "IsPublic", "IsFamily", "IsFamilyAndAssembly");

        foreach (MethodBase m in typeof(Example).GetMethods(
            BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public))
        {
            if (m.Name.Substring(0, 1) == "m")
            {
                Console.WriteLine("{0,-21}{1,-9}{2,-9}{3,-9}{4,-9}{5,-9}",
                    m.Name,
                    m.IsPublic,
                    m.IsAssembly,
                    m.IsFamily,
                    m.IsFamilyOrAssembly,
                    m.IsFamilyAndAssembly
                );
            }
        }
    }
}

/* This code example produces output similar to the following:

                              IsAssembly        IsFamilyOrAssembly
                     IsPublic          IsFamily          IsFamilyAndAssembly

m_public             True     False    False    False    False
m_internal           False    True     False    False    False
m_protected          False    False    True     False    False
m_protected_public   False    False    False    True     False
m_private_protected  False    False    False    False    True
 */
Imports System.Reflection

Public class Example

    Public Sub m_Public() 
    End Sub
    Friend Sub m_Friend() 
    End Sub
    Protected Sub m_Protected() 
    End Sub
    Protected Friend Sub m_Protected_Friend() 
    End Sub
    Private Protected Sub m_Private_Protected() 
    End Sub

    Public Shared Sub Main()
    
        Console.WriteLine(vbCrLf & _
            "{0,-30}{1,-18}{2}", "", "IsAssembly", "IsFamilyOrAssembly") 
        Console.WriteLine("{0,-21}{1,-18}{2,-18}{3}" & vbCrLf, _
            "", "IsPublic", "IsFamily", "IsFamilyAndAssembly")
   
        For Each m As MethodBase In GetType(Example).GetMethods( _
            BindingFlags.Instance Or BindingFlags.NonPublic Or BindingFlags.Public)
        
            If Left(m.Name, 1) = "m"
            
                Console.WriteLine("{0,-21}{1,-9}{2,-9}{3,-9}{4,-9}{5,-9}", _
                    m.Name, _
                    m.IsPublic, _
                    m.IsAssembly, _
                    m.IsFamily, _
                    m.IsFamilyOrAssembly, _
                    m.IsFamilyAndAssembly _
                )
            End If
        Next
    End Sub
End Class

' This code example produces output similar to the following:
'
'                              IsAssembly        IsFamilyOrAssembly
'                     IsPublic          IsFamily          IsFamilyAndAssembly
'
'm_Public             True     False    False    False    False
'm_Friend             False    True     False    False    False
'm_Protected          False    False    True     False    False
'm_Protected_Friend   False    False    False    True     False
'm_Private_Protected  False    False    False    False    True

설명

메서드의 실제 표시 유형은 형식의 표시 유형에 의해 제한됩니다. 속성은 IsAssembly 메서드에 대한 것일 true 수 있지만 프라이빗 중첩 형식의 메서드인 경우 포함하는 형식 외부에 메서드가 표시되지 않습니다.

메서드 또는 생성자의 표시 유형은 Visual Basic에서 유일한 표시 유형 한정자가 있는 경우 정확하게 설명 MethodAttributes.Assembly 됩니다internalFriend. 이 속성은 false C#(Protected FriendVisual Basic)에 있는 protected internal 메서드에 대한 것입니다. 속성을 사용하여 IsFamilyOrAssembly 이러한 메서드를 식별합니다.

적용 대상

추가 정보