MethodBase.IsAssembly Vlastnost

Definice

Získá hodnotu označující, zda potenciální viditelnost této metody nebo konstruktoru je popsána ; Assemblyto znamená, že metoda nebo konstruktor je viditelné nejvýše pro jiné typy ve stejném sestavení a není viditelné pro odvozené typy mimo sestavení.

public bool IsAssembly { get; }

Hodnota vlastnosti

truepokud je viditelnost této metody nebo konstruktoru přesně popsána metodou Assembly; v opačném případě . false

Implementuje

Příklady

Následující příklad kódu definuje metody s různými úrovněmi viditelnosti a zobrazuje hodnoty jejich IsAssemblyvlastností , IsFamilyIsFamilyOrAssembly, a IsFamilyAndAssembly .

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
 */

Poznámky

Skutečná viditelnost metody je omezená viditelností jejího typu. Vlastnost IsAssembly může být true pro metodu, ale pokud se jedná o metodu privátního vnořeného typu, není metoda viditelná mimo obsahující typ.

Viditelnost metody nebo konstruktoru je přesně popsána, pokud je internal jediným modifikátorem MethodAttributes.Assembly viditelnosti (Friend v jazyce Visual Basic). Tato vlastnost je false určena pro metody, které jsou protected internal v jazyce C# (Protected Friend v jazyce Visual Basic, protected public v jazyce C++); k identifikaci takových metod použijte IsFamilyOrAssembly vlastnost .

Platí pro

Produkt Verze
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Viz také