Freigeben über


FieldInfo.IsPrivate-Eigenschaft

Ruft einen Wert ab, der angibt, ob das Feld privat ist.

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

Syntax

'Declaration
Public ReadOnly Property IsPrivate As Boolean
'Usage
Dim instance As FieldInfo
Dim value As Boolean

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

Eigenschaftenwert

true, wenn das Feld privat ist, andernfalls false.

Hinweise

Auf private Felder kann nur über Memberfunktionen zugegriffen werden.

Die IsPrivate-Eigenschaft ist festgelegt, wenn das FieldAttributes.Private-Attribut festgelegt ist.

Um die IsPrivate-Eigenschaft abzurufen, rufen Sie zunächst den Type der Klasse ab. Über Type rufen Sie FieldInfo ab. Über FieldInfo rufen Sie die IsPrivate-Eigenschaft ab. Legen Sie für den Zugriff auf ein nicht öffentliches Feld BindingFlags auf NonPublic fest, und wählen Sie entweder Static oder Instance in der GetField-Methode aus.

Beispiel

Im folgenden Beispiel wird ein Wert zurückgegeben, der angibt, ob das Feld der Klasse privat ist.

Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic

Class [MyClass]
    Private myField As String
    Public myArray() As String = {"New York", "New Jersey"}

    Sub New()
        myField = "Microsoft"
    End Sub 'New

    ReadOnly Property GetField() As String
        Get
            Return myField
        End Get
    End Property
End Class '[MyClass]


Class FieldInfo_IsPrivate

    Public Shared Sub Main()
        Try
            ' Gets the type of MyClass.
            Dim myType As Type = GetType([MyClass])

            ' Gets the field information of MyClass.
            Dim myFields As FieldInfo() = myType.GetFields((BindingFlags.NonPublic Or BindingFlags.Public Or BindingFlags.Instance))

            Console.WriteLine(ControlChars.Cr & "Displaying whether the fields of {0} are private or not:" & ControlChars.Cr, myType)
            Console.WriteLine() 
            Dim i As Integer
            For i = 0 To myFields.Length - 1
                ' Check whether the field is private or not. 
                If myFields(i).IsPrivate Then
                    Console.WriteLine("{0} is a private field.", myFields(i).Name)
                Else
                    Console.WriteLine("{0} is not a private field.", myFields(i).Name)
                End If
            Next i
        Catch e As Exception
            Console.WriteLine("Exception : {0} ", e.Message.ToString())
        End Try
    End Sub 'Main
End Class 'FieldInfo_IsPrivate
using System;
using System.Reflection;

class MyClass
{
    private string myField;
    public string[] myArray = new string[] {"New York", "New Jersey"};
    MyClass()
    {
        myField = "Microsoft";
    }
    string GetField
    {
        get
        {
            return myField;
        }
    }
}

class FieldInfo_IsPrivate
{
    public static void Main()
    {
        try
        {
            // Gets the type of MyClass.
            Type myType = typeof(MyClass);

            // Gets the field information of MyClass.
            FieldInfo[] myFields = myType.GetFields(BindingFlags.NonPublic
                |BindingFlags.Public
                |BindingFlags.Instance);
      
            Console.WriteLine("\nDisplaying whether the fields of {0} are private or not:\n", myType);
            for(int i = 0; i < myFields.Length; i++)
            {
                // Check whether the field is private or not. 
                if(myFields[i].IsPrivate)
                    Console.WriteLine("{0} is a private field.", myFields[i].Name);
                else
                    Console.WriteLine("{0} is not a private field.", myFields[i].Name);
            }
        }
        catch(Exception e)
        {
            Console.WriteLine("Exception : {0} " , e.Message);
        }
    }
}
using namespace System;
using namespace System::Reflection;

ref class MyClass
{
private:
   String^ myField;

public:
   array<String^>^myArray;
   MyClass()
   {
      myField = "Microsoft";
      array<String^>^s = {"New York","New Jersey"};
      myArray = s;
   }

   property String^ GetField 
   {
      String^ get()
      {
         return myField;
      }
   }
};

int main()
{
   try
   {
      // Gets the type of MyClass.
      Type^ myType = MyClass::typeid;

      // Gets the field information of MyClass.
      array<FieldInfo^>^myFields = myType->GetFields( static_cast<BindingFlags>(BindingFlags::NonPublic | BindingFlags::Public | BindingFlags::Instance) );
      Console::WriteLine( "\nDisplaying whether the fields of {0} are private or not:\n", myType );
      for ( int i = 0; i < myFields->Length; i++ )
      {
         // Check whether the field is private or not. 
         if ( myFields[ i ]->IsPrivate )
                  Console::WriteLine( " {0} is a private field.", myFields[ i ]->Name );
         else
                  Console::WriteLine( " {0} is not a private field.", myFields[ i ]->Name );
      }
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "Exception : {0} ", e->Message );
   }
}
import System.*;
import System.Reflection.*;

class MyClass
{
    private String myField;
    public String myArray[] = new String[] { "New York", "New Jersey" };

    MyClass()
    {
        myField = "Microsoft";
    } //MyClass

    /** @property 
     */
    String get_GetField()
    {
        return myField;
    } // get_GetField
} //MyClass

class FieldInfoIsPrivate
{
    public static void main(String[] args)
    {
        try {
            // Gets the type of MyClass.
            Type myType = MyClass.class.ToType();

            // Gets the field information of MyClass.
            FieldInfo myFields[] = myType.GetFields(BindingFlags.NonPublic 
                | BindingFlags.Public | BindingFlags.Instance);
            Console.WriteLine("\nDisplaying whether the fields of {0} are" 
                + " private or not:\n", myType);
            for (int i = 0; i < myFields.length; i++) {
                // Check whether the field is private or not. 
                if (myFields[i].get_IsPrivate()) {
                    Console.WriteLine("{0} is a private field.",
                        myFields[i].get_Name());
                }
                else {
                    Console.WriteLine("{0} is not a private field.", 
                        myFields[i].get_Name());
                }
            }
        }
        catch (System.Exception e) {
            Console.WriteLine("Exception : {0} ", e.get_Message());
        }
    } //main
} //FieldInfoIsPrivate

Plattformen

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

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

FieldInfo-Klasse
FieldInfo-Member
System.Reflection-Namespace
BindingFlags-Enumeration
Type