Freigeben über


FieldInfo.IsFamily-Eigenschaft

Ruft einen Wert ab, der angibt, ob für dieses Feld die Sichtbarkeitsstufe Family definiert ist.

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

Syntax

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

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

Eigenschaftenwert

true, wenn für das Feld das Family-Attribut festgelegt ist, andernfalls false.

Hinweise

Diese Eigenschaft kann ausschließlich von den Membern einer abgeleiteten Klasse aufgerufen werden, nicht von anderen Typen.

Um die IsFamily-Eigenschaft abzurufen, rufen Sie zunächst den Type der Klasse ab. Über Type rufen Sie FieldInfo ab. Über FieldInfo rufen Sie den IsFamily-Wert ab.

Die IsFamily-Eigenschaft ist festgelegt, wenn das FieldAttributes.Family-Attribut festgelegt ist.

Beispiel

Im folgenden Beispiel werden zwei Eigenschaften erstellt. Die erste Eigenschaft verfügt über ein privates Zeichenfolgenfeld, die zweite über ein geschütztes Zeichenfolgenfeld, sodass die IsFamily-Eigenschaft auf true festgelegt wird.

Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic


'Make two fields.

Public Class Myfielda
    Private field As String = "A private field"

    Public Property MyField() As String
        Get
            Return Field
        End Get
        Set(ByVal Value As String)
            If field <> Value Then
                field = Value
            End If
        End Set
    End Property
End Class 'Myfielda

Public Class Myfieldb
    Protected field As String = "B protected field"

    Public Property MyField() As String
        Get
            Return Field
        End Get
        Set(ByVal Value As String)
            If field <> Value Then
                field = Value
            End If
        End Set
    End Property
End Class 'Myfieldb

Public Class Myfieldinfo

    Public Shared Function Main() As Integer
        Console.WriteLine(ControlChars.Lf & "Reflection.FieldInfo")
        Dim Myfielda As New Myfielda()
        Dim Myfieldb As New Myfieldb()

        ' Get the Type and FieldInfo.
        Dim MyTypea As Type = GetType(Myfielda)
        Dim Myfieldinfoa As FieldInfo = MyTypea.GetField("field", _
            BindingFlags.NonPublic Or BindingFlags.Instance)
        Dim MyTypeb As Type = GetType(Myfieldb)
        Dim Myfieldinfob As FieldInfo = MyTypeb.GetField("field", _
            BindingFlags.NonPublic Or BindingFlags.Instance)

        ' For the first field, get and display the Name, field, and IsFamily.
        Console.Write(ControlChars.Lf & "{0} - ", MyTypea.FullName)
        Console.Write("{0} - ", Myfieldinfoa.GetValue(Myfielda))
        Console.Write(ControlChars.Lf & "  IsFamily - {0}", Myfieldinfoa.IsFamily)
        Console.Write(ControlChars.Lf & "  FieldAttributes - {0}", _
            Myfieldinfoa.Attributes.ToString())

        ' For the second field, get and Display the Name, field, and IsFamily.
        Console.WriteLine()
        Console.Write(ControlChars.Lf & "{0} - ", MyTypeb.FullName)
        Console.Write("{0} - ", Myfieldinfob.GetValue(Myfieldb))
        Console.Write(ControlChars.Lf & "  IsFamily - {0}", Myfieldinfob.IsFamily)
        Dim Myfieldattributesb As FieldAttributes = Myfieldinfob.Attributes
        Console.Write(ControlChars.Lf & "  FieldAttributes - {0}", _
            Myfieldinfob.Attributes.ToString())

        Return 0
    End Function 'Main
End Class 'Myfieldinfo
using System;
using System.Reflection;

//Make two fields.
public class Myfielda
{
    private string field = "A private field";
    public string Field
    {
        get{return field;}
        set{if(field!=value){field=value;}}
    }
}
 
public class Myfieldb
{
    protected string field = "B protected field";
    public string Field
    {
        get{return field;}
        set{if(field!=value){field=value;}}
    }
}
  
public class Myfieldinfo
{
    public static int Main()
    {
        Console.WriteLine("\nReflection.FieldInfo");
        Myfielda Myfielda = new Myfielda();
        Myfieldb Myfieldb = new Myfieldb();
  
        // Get the Type and FieldInfo.
        Type MyTypea = typeof(Myfielda);
        FieldInfo Myfieldinfoa = MyTypea.GetField("field",
            BindingFlags.NonPublic|BindingFlags.Instance);
        Type MyTypeb = typeof(Myfieldb);
        FieldInfo Myfieldinfob = MyTypeb.GetField("field",
            BindingFlags.NonPublic|BindingFlags.Instance);
  
        // For the first field, get and display the Name, field, and IsFamily.
        Console.Write("\n{0} - ", MyTypea.FullName);
        Console.Write("{0} - ", Myfieldinfoa.GetValue(Myfielda));
        Console.Write("\n  IsFamily - {0}", Myfieldinfoa.IsFamily);
        Console.Write("\n  FieldAttributes - {0}",
            Myfieldinfoa.Attributes.ToString());
  
        // For the second field, get and Display the Name, field, and IsFamily.
        Console.WriteLine();
        Console.Write("\n{0} - ", MyTypeb.FullName);
        Console.Write("{0} - ", Myfieldinfob.GetValue(Myfieldb));
        Console.Write("\n  IsFamily - {0}", Myfieldinfob.IsFamily);
        FieldAttributes Myfieldattributesb = Myfieldinfob.Attributes;
        Console.Write("\n  FieldAttributes - {0}",
            Myfieldinfob.Attributes.ToString());
  
        return 0;
    }
}
using namespace System;
using namespace System::Reflection;

//Make two fields.
public ref class Myfielda
{
private:
   String^ field;

public:
   Myfielda()
      : field( "A private field" )
   {}


   property String^ Field 
   {
      String^ get()
      {
         return field;
      }

      void set( String^ value )
      {
         if ( field != value )
         {
            field = value;
         }
      }

   }

};

public ref class Myfieldb
{
protected:
   String^ field;

public:
   Myfieldb()
      : field( "B public field" )
   {}


   property String^ Field 
   {
      String^ get()
      {
         return field;
      }

      void set( String^ value )
      {
         if ( field != value )
         {
            field = value;
         }
      }

   }

};

int main()
{
   Console::WriteLine( "\nReflection.FieldInfo" );
   Myfielda^ myfielda = gcnew Myfielda;
   Myfieldb^ myfieldb = gcnew Myfieldb;
   
   // Get the Type and FieldInfo.
   Type^ MyTypea = Type::GetType( "Myfielda" );
   FieldInfo^ Myfieldinfoa = MyTypea->GetField( "field", static_cast<BindingFlags>(BindingFlags::NonPublic | BindingFlags::Instance) );
   Type^ MyTypeb = Type::GetType( "Myfieldb" );
   FieldInfo^ Myfieldinfob = MyTypeb->GetField( "field", static_cast<BindingFlags>(BindingFlags::NonPublic | BindingFlags::Instance) );
   
   // For the first field, get and display the Name, field, and IsFamily.
   Console::Write( "\n{0} - ", MyTypea->FullName );
   Console::Write( "{0} - ", Myfieldinfoa->GetValue( myfielda ) );
   Console::Write( "\n  IsFamily - {0}", Myfieldinfoa->IsFamily );
   Console::Write( "\n  FieldAttributes - {0}", Myfieldinfoa->Attributes );
   
   // For the second field, get and Display the Name, field, and IsFamily.
   Console::WriteLine();
   Console::Write( "\n{0} - ", MyTypeb->FullName );
   Console::Write( "{0} - ", Myfieldinfob->GetValue( myfieldb ) );
   Console::Write( "\n  IsFamily - {0}", Myfieldinfob->IsFamily );
   Console::Write( "\n  FieldAttributes - {0}", Myfieldinfob->Attributes );
   return 0;
}
import System.*;
import System.Reflection.*;

//Make two fields.
public class MyFieldA
{
    private String field = "A private field";

    /** @property 
     */
    public String get_Field()
    {
        return field;
    } //get_Field

    /** @property 
     */
    public void set_Field(String value)
    {
        if (field != value) {
            field = value;
        }
    } //set_Field
} //MyFieldA

public class MyFieldB
{
    protected String field = "B public field";

    /** @property 
     */
    public String get_Field()
    {
        return field;
    } //get_Field

    /** @property 
     */
    public void set_Field(String value)
    {
        if (field != value) {
            field = value;
        }
    } //set_Field
} //MyFieldB

public class MyFieldInfo
{
    public static void main(String[] args)
    {
        Console.WriteLine("\nReflection.FieldInfo");
        MyFieldA myFieldA = new MyFieldA();
        MyFieldB myFieldB = new MyFieldB();

        // Get the Type and FieldInfo.
        Type myTypeA = Type.GetType("MyFieldA");
        FieldInfo myFieldInfoA = myTypeA.GetField("field", 
            BindingFlags.NonPublic | BindingFlags.Instance);
        Type myTypeB = Type.GetType("MyFieldB");
        FieldInfo myFieldInfoB = myTypeB.GetField("field", 
            BindingFlags.NonPublic | BindingFlags.Instance);

        // For the first field, get and display the Name, field, and IsFamily.
        Console.Write("\n{0} - ", myTypeA.get_FullName());
        Console.Write("{0} - ", myFieldInfoA.GetValue(myFieldA));
        Console.Write("\n  IsFamily - {0}", 
            (System.Boolean)myFieldInfoA.get_IsFamily());
        Console.Write("\n  FieldAttributes - {0}", 
            myFieldInfoA.get_Attributes().ToString());

        // For the second field, get and Display the Name, field, and IsFamily.
        Console.WriteLine();
        Console.Write("\n{0} - ", myTypeB.get_FullName());
        Console.Write("{0} - ", myFieldInfoB.GetValue(myFieldB));
        Console.Write("\n  IsFamily - {0}",
            (System.Boolean)myFieldInfoB.get_IsFamily());
        FieldAttributes Myfieldattributesb = myFieldInfoB.get_Attributes();
        Console.Write("\n  FieldAttributes - {0}",
            myFieldInfoB.get_Attributes().ToString());

        return;
    } //main
} //MyFieldInfo
//Make two fields.
import System;
import System.Reflection;

public class Myfielda
{
   private var field : String = "A private field";
   public function get Field() : String {
       return field;
   }
   public function set Field(value : String) {    
       if (field!=value) field=value;
   }
}

public class Myfieldb
{
   protected var field : String = "B public field";
   public function get Field() : String {
       return field;
   }
   public function set Field(value : String) {    
      if (field!=value) field=value;
   }
}
 
public class Myfieldinfo
{
   public static function Main() : void
   {
      Console.WriteLine("\nReflection.FieldInfo");
      var myfielda : Myfielda = new Myfielda();
      var myfieldb : Myfieldb = new Myfieldb();
 
      //Get the Type and FieldInfo.
      var MyTypea : Type = Type.GetType("Myfielda");
      var Myfieldinfoa : FieldInfo = MyTypea.GetField("field", BindingFlags.Instance|BindingFlags.NonPublic);
      var MyTypeb : Type = Type.GetType("Myfieldb");
      var Myfieldinfob : FieldInfo = MyTypeb.GetField("field", BindingFlags.Instance|BindingFlags.NonPublic);
 
      //For the first field, get and display the Name, field, and IsFamily.
      Console.Write("\n{0} - ", MyTypea.FullName);
      Console.Write("{0} - ", Myfieldinfoa.GetValue(myfielda));
      Console.Write("\n  IsFamily - {0}", Myfieldinfoa.IsFamily);
      Console.Write("\n  FieldAttributes - {0}",
         Myfieldinfoa.Attributes.ToString());
 
      //For the second field, get and Display the Name, field, and IsFamily.
      Console.Write("\n{0} - ", MyTypeb.FullName);
      Console.Write("{0} - ", Myfieldinfob.GetValue(myfieldb));
      Console.Write("\n  IsFamily - {0}", Myfieldinfob.IsFamily);
      var Myfieldattributesb : FieldAttributes = Myfieldinfob.Attributes;
      Console.Write("\n  FieldAttributes - {0}",
         Myfieldinfob.Attributes.ToString());
   }
}
Myfieldinfo.Main();

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
FieldAttributes-Enumeration
Type