FieldInfo.IsPrivate Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá hodnotu označující, zda je pole soukromé.
public:
property bool IsPrivate { bool get(); };
public bool IsPrivate { get; }
member this.IsPrivate : bool
Public ReadOnly Property IsPrivate As Boolean
Hodnota vlastnosti
true
pokud je pole soukromé; Jinak; false
.
Implementuje
Příklady
Následující příklad vrátí hodnotu označující, zda je pole třídy privátní.
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
Poznámky
Soukromá pole jsou přístupná pouze z členských funkcí.
Vlastnost IsPrivate
je nastavena při nastavení atributu FieldAttributes.Private
.
Pokud chcete získat IsPrivate
vlastnost, nejprve získáte třídu Type
. V souboru Type
získejte FieldInfo
. Z objektu FieldInfo
získejte IsPrivate
vlastnost . Pokud chcete získat přístup k neveřejné poli, nastavte BindingFlags
v metodě hodnotu na NonPublic
a buď Static
, nebo Instance
GetField
.