FieldInfo.IsPrivate Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan nilai yang menunjukkan apakah bidang bersifat privat.
public:
property bool IsPrivate { bool get(); };
public bool IsPrivate { get; }
member this.IsPrivate : bool
Public ReadOnly Property IsPrivate As Boolean
Nilai Properti
true
jika bidang bersifat privat; Sebaliknya; false
.
Penerapan
Contoh
Contoh berikut mengembalikan nilai yang menunjukkan apakah bidang kelas bersifat privat atau tidak.
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 );
}
}
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);
}
}
}
Imports System.Reflection
Class [MyClass]
Private myField As String
Public myArray() As String = {"New York", "New Jersey"}
Sub New()
myField = "Microsoft"
End Sub
ReadOnly Property GetField() As String
Get
Return myField
End Get
End Property
End Class
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
End Class
Keterangan
Bidang privat hanya dapat diakses dari fungsi anggota.
Properti IsPrivate
diatur saat FieldAttributes.Private
atribut diatur.
Untuk mendapatkan IsPrivate
properti , pertama-tama dapatkan kelas Type
.
Type
Dari , dapatkan FieldInfo
.
FieldInfo
Dari , dapatkan IsPrivate
properti . Untuk mengakses bidang non-publik, atur ke BindingFlags
NonPublic
, dan baik Static
atau Instance
dalam GetField
metode .