다음을 통해 공유


MethodBase.IsAssembly 속성

동일한 어셈블리 내의 다른 클래스에서 이 메서드를 호출할 수 있는지 여부를 나타내는 값을 가져옵니다.

네임스페이스: System.Reflection
어셈블리: mscorlib(mscorlib.dll)

구문

‘선언
Public ReadOnly Property IsAssembly As Boolean
‘사용 방법
Dim instance As MethodBase
Dim value As Boolean

value = instance.IsAssembly
public bool IsAssembly { get; }
public:
virtual property bool IsAssembly {
    bool get () sealed;
}
/** @property */
public final boolean get_IsAssembly ()
public final function get IsAssembly () : boolean

속성 값

이 메서드를 동일한 어셈블리 내의 다른 클래스에서 호출할 수 있으면 true이고 그렇지 않으면 false입니다.

설명

설정된 경우 이 메서드는 동일한 어셈블리 내의 다른 클래스에서 호출할 수 있습니다.

MethodBase를 가져오려면 먼저 형식을 가져옵니다. 이 형식에서 메서드를 가져옵니다. 메서드에서 MethodBase를 가져옵니다. MethodBase 또는 생성자가 공용이 아니면 보호되므로 액세스할 수 없습니다. 공용이 아닌 메서드에 액세스하려면 BindingFlags 마스크를 GetMethod에서 NonPublic로 설정합니다.

예제

다음 예제에서는 지정된 메서드를 같은 어셈블리의 다른 클래스에서 호출할 수 있는지 여부를 확인하고 그 결과를 표시합니다.

Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic

Class methodbase1
    Friend Sub f()
    End Sub

    Public Shared Function Main() As Integer
        Console.WriteLine(ControlChars.CrLf + "Reflection.MethodBase")
        
        'Get the types.
        Dim MyType1 As Type = _
           Type.GetType("System.Runtime.Serialization.Formatter")
        Dim MyType2 As Type = _
           Type.GetType("methodbase1")

        ' Get and display the methods and the IsAssembly property value.
        Dim Mymethodbase1 As MethodBase = _
           MyType1.GetMethod("WriteInt32", BindingFlags.NonPublic Or BindingFlags.Instance)
        Dim Mymethodbase2 As MethodBase = _
           MyType2.GetMethod("f", BindingFlags.NonPublic Or BindingFlags.Instance)
       
        Console.Write(ControlChars.CrLf _
           + "Mymethodbase = " + Mymethodbase1.ToString())
        If Mymethodbase1.IsAssembly Then
            Console.Write(ControlChars.CrLf _
               + "Mymethodbase is an assembly method.")
        Else
            Console.Write(ControlChars.CrLf _
               + "Mymethodbase is not an assembly method.")
        End If 
        Console.Write(ControlChars.CrLf + ControlChars.CrLf _
           + "Mymethodbase = " + Mymethodbase2.ToString())
        If Mymethodbase2.IsAssembly Then
            Console.Write(ControlChars.CrLf + _
               "Mymethodbase is an assembly method.")
        Else
            Console.Write(ControlChars.CrLf + _
               "Mymethodbase is not an assembly method.")
        End If 
        Return 0
    End Function
End Class
using System;
using System.Reflection;

class methodbase
{
    internal void f() { }
    public static int Main(string[] args)
    { 
        Console.WriteLine ("\nReflection.MethodBase");
       
        // Get the MethodBase of two methods.
 
        // Get the types.
        Type MyType1 = Type.GetType("System.Runtime.Serialization.Formatter");
        Type MyType2 = Type.GetType("methodbase");
 
        // Get and display the methods and the IsAssembly property value.
        MethodBase Mymethodbase1 = 
            MyType1.GetMethod("WriteInt32",BindingFlags.NonPublic|BindingFlags.Instance);
        MethodBase Mymethodbase2 = 
            MyType2.GetMethod("f", BindingFlags.NonPublic|BindingFlags.Instance);
 
        Console.Write("\nMymethodbase = " + Mymethodbase1.ToString());
        if (Mymethodbase1.IsAssembly)
            Console.Write ("\nMymethodbase is an assembly method.");
        else
            Console.Write ("\nMymethodbase is not an assembly method.");
 
        Console.Write("\n\nMymethodbase = " + Mymethodbase2.ToString());
        if (Mymethodbase2.IsAssembly)
            Console.Write ("\nMymethodbase is an assembly method.");
        else
            Console.Write ("\nMymethodbase is not an assembly method.");
       
        return 0;
    }
}
using namespace System;
using namespace System::Reflection;
public ref class methodbase
{
public private:
   void f(){}

};

int main()
{
   Console::WriteLine( "\nReflection.MethodBase" );
   
   // Get the MethodBase of two methods.
   // Get the types.
   Type^ MyType1 = Type::GetType( "System.Runtime.Serialization.Formatter" );
   Type^ MyType2 = Type::GetType( "methodbase" );
   
   // Get and display the methods and the IsAssembly property value.
   MethodBase^ Mymethodbase1 = MyType1->GetMethod( "WriteInt32", static_cast<BindingFlags>(BindingFlags::NonPublic | BindingFlags::Instance) );
   MethodBase^ Mymethodbase2 = MyType2->GetMethod( "f", static_cast<BindingFlags>(BindingFlags::NonPublic | BindingFlags::Instance) );
   Console::Write( "\nMymethodbase = {0}", Mymethodbase1 );
   if ( Mymethodbase1->IsAssembly )
      Console::Write( "\nMymethodbase is an assembly method." );
   else
      Console::Write( "\nMymethodbase is not an assembly method." );

   Console::Write( "\n\nMymethodbase = {0}", Mymethodbase2 );
   if ( Mymethodbase2->IsAssembly )
      Console::Write( "\nMymethodbase is an assembly method." );
   else
      Console::Write( "\nMymethodbase is not an assembly method." );

   return 0;
}
import System.*;
import System.Reflection.*;

class Methodbase
{
    void F()
    {
    } //F

    public static void main(String[] args)
    {
        Console.WriteLine("\nReflection.MethodBase");

        // Get the MethodBase of two methods.
        // Get the types.
        Type myType1 = Type.GetType("System.Runtime.Serialization.Formatter");
        Type myType2 = Type.GetType("Methodbase");

        // Get and display the methods and the IsAssembly property value.
        MethodBase myMethodBase1 = myType1.GetMethod("WriteInt32", 
            BindingFlags.NonPublic | BindingFlags.Instance);
        MethodBase myMethodBase2 = myType2.GetMethod("F",
            BindingFlags.NonPublic | BindingFlags.Instance|
            BindingFlags.Public);
        Console.Write(("\nmyMethodBase = " + myMethodBase1.ToString()));
        if ( myMethodBase1.get_IsAssembly()  ) {
            Console.Write("\nmyMethodBase is an assembly method.");
        }
        else {
            Console.Write("\nmyMethodBase is not an assembly method.");
        } 
        Console.Write(("\n\nmyMethodBase = " + myMethodBase2.ToString()));
        if ( myMethodBase2.get_IsAssembly()  ) {
            Console.Write("\nmyMethodBase is an assembly method.");
        }
        else {
            Console.Write("\nmyMethodBase is not an assembly method.");
        } 

    } //main
} //methodbase

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

MethodBase 클래스
MethodBase 멤버
System.Reflection 네임스페이스
FieldAttributes 열거형
Boolean
BindingFlags 열거형