Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

MethodBase.IsAssembly-Eigenschaft

 

Veröffentlicht: Oktober 2016

Ruft einen Wert, der angibt, ob die potenzielle Sichtbarkeit dieser Methode oder dieses Konstruktors beschriebenen MethodAttributes.Assembly; also die Methode oder der Konstruktor wird sichtbar für andere Typen in derselben Assembly und ist nicht sichtbar, abgeleitete Typen außerhalb der Assembly.

Namespace:   System.Reflection
Assembly:  mscorlib (in mscorlib.dll)

public bool IsAssembly { get; }

Eigenschaftswert

Type: System.Boolean

true Wenn die Sichtbarkeit dieser Methode oder der Konstruktor von genau beschrieben ist MethodAttributes.Assemblyandernfalls false.

Die tatsächliche Sichtbarkeit einer Methode wird von der Sichtbarkeit von seinem Typ beschränkt. Die IsAssembly Eigenschaft möglicherweise true für eine Methode, jedoch es eine Methode eines privaten geschachtelten Typs ist und dann die Methode nicht sichtbar außerhalb des enthaltenden Typs ist.

Die Sichtbarkeit einer Methode oder der Konstruktor wird von genau beschrieben MethodAttributes.Assembly ist der einzige Sichtbarkeitsmodifizierer internal (Friend in Visual Basic). Diese Eigenschaft ist false für Methoden, die protected internal in c# (Protected Friend in Visual Basic protected public in C++); verwenden Sie die IsFamilyOrAssembly Eigenschaft, um Methoden zu identifizieren.

Im folgenden Codebeispiel definiert Methoden mit unterschiedlichem Sichtbarkeit und zeigt die Werte ihrer IsAssembly, IsFamily, IsFamilyOrAssembly, und IsFamilyAndAssembly Eigenschaften.

System_CAPS_noteHinweis

Die Programmiersprachen Visual Basic und c# können keine Methoden mit definieren MethodAttributes.FamANDAssem Sichtbarkeit; Zugriffsebene nur im C++-Beispiel angezeigt wird.

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() {}

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

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: