FieldInfo.IsNotSerialized 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í.
Upozornění
Formatter-based serialization is obsolete and should not be used.
Získá hodnotu označující, zda má toto pole NotSerialized
atribut.
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
Hodnota vlastnosti
true
pokud má NotSerialized
pole nastavený atribut, false
v opačném případě .
Implementuje
- Atributy
Příklady
Následující příklad získá informace o polích MyClass, určí, zda lze pole serializovat, a zobrazí výsledky.
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
Poznámky
Vlastnost se IsNotSerialized
vrátí true
, když je pole označeno příznakem FieldAttributes.NotSerialized
. Pokud je tento příznak nastaven u pole, znamená to, že pole nemusí být serializováno při vzdáleném typu.