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