FieldInfo.IsNotSerialized Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Achtung
Formatter-based serialization is obsolete and should not be used.
Ruft einen Wert ab, der angibt, ob dieses Feld über das NotSerialized
-Attribut verfügt.
public:
property bool IsNotSerialized { bool get(); };
public bool IsNotSerialized { get; }
[System.Obsolete("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public bool IsNotSerialized { get; }
member this.IsNotSerialized : bool
[<System.Obsolete("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
member this.IsNotSerialized : bool
Public ReadOnly Property IsNotSerialized As Boolean
Eigenschaftswert
true
, wenn für das Feld das NotSerialized
-Attribut festgelegt ist, andernfalls false
.
Implementiert
- Attribute
Beispiele
Das folgende Beispiel ruft die Feldinformationen der Felder von MyClass ab, bestimmt, ob die Felder serialisiert werden können, und zeigt die Ergebnisse an.
using namespace System;
using namespace System::Reflection;
using namespace System::Runtime::Serialization;
public ref class MyClass
{
public:
short myShort;
// The following field will not be serialized.
[NonSerialized]
int myInt;
};
int main()
{
// Get the type of MyClass.
Type^ myType = MyClass::typeid;
// Get the fields of MyClass.
array<FieldInfo^>^myFields = myType->GetFields( static_cast<BindingFlags>(BindingFlags::Public | BindingFlags::NonPublic | BindingFlags::Instance | BindingFlags::Static) );
Console::WriteLine( "\nDisplaying whether or not the field is serializable.\n" );
// Display whether or not the field is serializable.
for ( int i = 0; i < myFields->Length; i++ )
if ( myFields[ i ]->IsNotSerialized )
Console::WriteLine( "The {0} field is not serializable.", myFields[ i ] );
else
Console::WriteLine( "The {0} field is serializable.", myFields[ i ] );
}
using System;
using System.Reflection;
using System.Runtime.Serialization;
public class MyClass
{
public short myShort;
// The following field will not be serialized.
[NonSerialized()]
public int myInt;
}
public class Type_IsNotSerializable
{
public static void Main()
{
// Get the type of MyClass.
Type myType = typeof(MyClass);
// Get the fields of MyClass.
FieldInfo[] myFields = myType.GetFields(BindingFlags.Public |
BindingFlags.NonPublic |
BindingFlags.Instance |
BindingFlags.Static);
Console.WriteLine("\nDisplaying whether or not the field is serializable.\n");
// Display whether or not the field is serializable.
for(int i = 0; i < myFields.Length; i++)
if(myFields[i].IsNotSerialized)
Console.WriteLine("The {0} field is not serializable.", myFields[i]);
else
Console.WriteLine("The {0} field is not serializable.", myFields[i]);
}
}
Imports System.Reflection
Imports System.Runtime.Serialization
<Serializable()> _
Public Class [MyClass]
Public myShort As Short
' The following field will not be serialized.
<NonSerialized()> Public myInt As Integer
End Class
Public Class Type_IsNotSerializable
Public Shared Sub Main()
' Get the type of MyClass.
Dim myType As Type = GetType([MyClass])
' Get the fields of MyClass.
Dim myFields As FieldInfo() = myType.GetFields((BindingFlags.Public Or BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.Static))
Console.WriteLine(ControlChars.Cr & "Displaying whether or not the field is serializable." & ControlChars.Cr)
Console.WriteLine()
' Displaying whether or not the field is serializable.
Dim i As Integer
For i = 0 To myFields.Length - 1
If myFields(i).IsNotSerialized Then
Console.WriteLine("The {0} field is not serializable.", myFields(i))
Else
Console.WriteLine("The {0} field is serializable.", myFields(i))
End If
Next i
End Sub
End Class
Hinweise
Die IsNotSerialized
-Eigenschaft gibt zurück true
, wenn das Feld mit dem FieldAttributes.NotSerialized
Flag gekennzeichnet ist. Wenn dieses Flag für ein Feld festgelegt ist, gibt dies an, dass das Feld nicht serialisiert werden muss, wenn der Typ entfernt wird.