FieldInfo.IsPublic-Eigenschaft
Ruft einen Wert ab, der angibt, ob das Feld öffentlich ist.
Namespace: System.Reflection
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public ReadOnly Property IsPublic As Boolean
'Usage
Dim instance As FieldInfo
Dim value As Boolean
value = instance.IsPublic
public bool IsPublic { get; }
public:
virtual property bool IsPublic {
bool get () sealed;
}
/** @property */
public final boolean get_IsPublic ()
public final function get IsPublic () : boolean
Eigenschaftenwert
true, wenn das Feld öffentlich ist, andernfalls false.
Hinweise
Auf öffentliche Felder kann zugegriffen werden, wenn die entsprechenden Klassen sichtbar sind.
Die IsPublic-Eigenschaft ist festgelegt, wenn das FieldAttributes.Public-Attribut festgelegt ist.
Um die IsPublic-Eigenschaft abzurufen, rufen Sie zunächst den Type der Klasse ab. Über Type rufen Sie FieldInfo ab. Über FieldInfo rufen Sie die IsPublic-Eigenschaft ab. Wenn das Feld nicht öffentlich ist, ist es geschützt und kann nicht ohne weiteres aufgerufen werden. Legen Sie für den Zugriff auf ein nicht öffentliches Feld BindingFlags auf NonPublic fest, geben Sie entweder BindingFlags.Instance oder BindingFlags.Static an, und verwenden Sie diese Einstellung für die GetField-Methode.
Beispiel
Im folgenden Beispiel wird ein Wert zurückgegeben, der angibt, ob das Feld der Klasse öffentlich oder privat ist.
Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic
' Make two fields.
Public Class Myfielda
' Make a private field.
Private SomeField As String = "private field"
Public ReadOnly Property Field() As String
Get
Return SomeField
End Get
End Property
End Class 'Myfielda
Public Class Myfieldb
' Make a public field.
Public SomeField As String = "public field"
End Class 'Myfieldb
Public Class Myfieldinfo
Public Shared Function Main() As Integer
Console.WriteLine("Reflection.FieldInfo")
Console.WriteLine()
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("SomeField", _
BindingFlags.NonPublic Or BindingFlags.Instance)
Dim MyTypeb As Type = GetType(Myfieldb)
Dim Myfieldinfob As FieldInfo = MyTypeb.GetField("SomeField")
' Get and display the IsPublic and IsPrivate property values.
Console.WriteLine("{0}.{1} - {2}", MyTypea.FullName, Myfieldinfoa.Name, _
Myfielda.Field)
Console.WriteLine(" IsPublic = {0}", Myfieldinfoa.IsPublic)
Console.WriteLine(" IsPrivate = {0}", Myfieldinfoa.IsPrivate)
Console.WriteLine()
Console.WriteLine("{0}.{1} - {2}", MyTypeb.FullName, Myfieldinfob.Name, _
Myfieldb.SomeField)
Console.WriteLine(" IsPublic = {0}", Myfieldinfob.IsPublic)
Console.WriteLine(" IsPrivate = {0}", Myfieldinfob.IsPrivate)
Return 0
End Function 'Main
End Class 'Myfieldinfo
using System;
using System.Reflection;
// Make two fields.
public
class Myfielda // private
{
private string SomeField = "private field";
public string Field
{
get{return SomeField;}
}
}
public
class Myfieldb // public
{
public string SomeField = "public field";
}
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("SomeField",
BindingFlags.NonPublic|BindingFlags.Instance);
Type MyTypeb = typeof(Myfieldb);
FieldInfo Myfieldinfob = MyTypeb.GetField("SomeField");
// Get and display the IsPublic and IsPrivate property values.
Console.Write("\n{0}.", MyTypea.FullName);
Console.Write("{0} - ", Myfieldinfoa.Name);
Console.Write("{0}", Myfielda.Field);
Console.Write("\n IsPublic = {0}", Myfieldinfoa.IsPublic);
Console.Write("\n IsPrivate = {0}", Myfieldinfoa.IsPrivate);
Console.Write("\n{0}.", MyTypeb.FullName);
Console.Write("{0} - ", Myfieldinfob.Name);
Console.Write("{0};", Myfieldb.SomeField);
Console.Write("\n IsPublic = {0}", Myfieldinfob.IsPublic);
Console.Write("\n IsPrivate = {0}", Myfieldinfob.IsPrivate);
return 0;
}
}
using namespace System;
using namespace System::Reflection;
// Make two fields.
// private
public ref class Myfielda
{
private:
String^ SomeField;
public:
Myfielda()
: SomeField( "private field" )
{}
property String^ Field
{
String^ get()
{
return SomeField;
}
}
};
// public
public ref class Myfieldb
{
public:
String^ SomeField;
Myfieldb()
: SomeField( "public field" )
{}
property String^ Field
{
String^ get()
{
return SomeField;
}
}
};
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( "SomeField", static_cast<BindingFlags>(BindingFlags::NonPublic | BindingFlags::Instance) );
Type^ MyTypeb = Type::GetType( "Myfieldb" );
FieldInfo^ Myfieldinfob = MyTypeb->GetField( "SomeField" );
// Get and display the IsPublic and IsPrivate property values.
Console::Write( "\n{0}.", MyTypea->FullName );
Console::Write( "{0} - ", Myfieldinfoa->Name );
Console::Write( "{0}", myfielda->Field );
Console::Write( "\n IsPublic = {0}", Myfieldinfoa->IsPublic );
Console::Write( "\n IsPrivate = {0}", Myfieldinfoa->IsPrivate );
Console::Write( "\n{0}.", MyTypeb->FullName );
Console::Write( "{0} - ", Myfieldinfob->Name );
Console::Write( "{0};", myfieldb->Field );
Console::Write( "\n IsPublic = {0}", Myfieldinfob->IsPublic );
Console::Write( "\n IsPrivate = {0}", Myfieldinfob->IsPrivate );
return 0;
}
import System.*;
import System.Reflection.*;
// Make two fields.
public class MyFielda
{
// private
private String someField = "private field";
/** @property
*/
public String get_Field()
{
return someField;
} //get_Field
} //MyFielda
public class MyFieldb
{
// public
public String someField = "public field";
/** @property
*/
public String get_Field()
{
return someField;
} //get_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("someField",
BindingFlags.NonPublic | BindingFlags.Instance);
Type myTypeb = Type.GetType("MyFieldb");
FieldInfo myFieldInfob = myTypeb.GetField("someField");
// Get and display the IsPublic and IsPrivate property values.
Console.Write("\n{0}.", myTypea.get_FullName());
Console.Write("{0} - ", myFieldInfoa.get_Name());
Console.Write("{0}", myFielda.get_Field());
Console.Write("\n IsPublic = {0}",
System.Convert.ToString(myFieldInfoa.get_IsPublic()));
Console.Write("\n IsPrivate = {0}",
System.Convert.ToString(myFieldInfoa.get_IsPrivate()));
Console.Write("\n{0}.", myTypeb.get_FullName());
Console.Write("{0} - ", myFieldInfob.get_Name());
Console.Write("{0};", myFieldb.get_Field());
Console.Write("\n IsPublic = {0}",
System.Convert.ToString(myFieldInfob.get_IsPublic()));
Console.Write("\n IsPrivate = {0}",
System.Convert.ToString(myFieldInfob.get_IsPrivate()));
} //main
} //MyFieldInfo
import System;
import System.Reflection;
// Make two fields.
// Make a private field.
public class Myfielda
{
private var field : String = "private field";
public function get Field() : String {
return field;
}
}
// Make a public field.
public class Myfieldb
{
public var field : String = "public field";
public function get Field() : String {
return field;
}
}
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");
//Get and Display the IsPublic and IsPrivate.
Console.Write("\n{0}.", MyTypea.FullName);
Console.Write("{0} - ", Myfieldinfoa.Name);
Console.Write("{0};", myfielda.Field);
Console.Write("\n IsPublic = {0}; ",Myfieldinfoa.IsPublic);
Console.Write("\n IsPrivate = {0}; ",Myfieldinfoa.IsPrivate);
Console.Write("\n{0}.", MyTypeb.FullName);
Console.Write("{0} - ", Myfieldinfob.Name);
Console.Write("{0};", myfieldb.Field);
Console.Write("\n IsPublic = {0}; ", Myfieldinfob.IsPublic);
Console.Write("\n IsPrivate = {0}; ",Myfieldinfob.IsPrivate);
}
}
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
BindingFlags-Enumeration